home *** CD-ROM | disk | FTP | other *** search
/ Merciful 2 / Merciful - Disc 2.iso / software / a / alliancedoc's09.dms / alliancedoc's09.adf / ppage30.txt.pp / ppage30.txt
Text File  |  1992-08-08  |  142KB  |  3,381 lines

  1.  
  2.          ... aNd aNotHeR fiLe SoMeoNe eLsE uPLoAdEd bEfOrE yOu tO:
  3.  
  4.                               tHe One & onLy
  5.                       2000 A.D. eUroPeaN hEad quArtEr
  6.  
  7.             ___/\__/\__/\/\  /\__/\/\     __ /\_/\__/\__/\___/\
  8.             \  _/ / / _ /  \/_ \ _/ _\   / // / _/_  / _ /_  _/
  9.             / _/ / /   / / / __/_/\ \   / _  / _/_  /   / / /  
  10.             \__/__/\/\_\__/\/ \__/__/   \/ \/\__/ \/\/\_\ \/
  11.  
  12.                    +49-5221-270097   -   +49-5221-270283
  13.  
  14. ¤
  15.                         This fine text file came from...
  16.  
  17.               /\____     __/\____           /\ _______/\__/\________
  18.              / __  //\   \_\/___ \  /\      \// _____/ /_/ /__  _  /
  19.          ___/ /__\//  \  /\  __/ / / / ___/\_/ /_   / /_/ /  / / \/ 
  20.          \_/ /__/ / /\ \/ / / __/ / /  \_/ // /_ \ / /_  /  / /     
  21.          _/ /    / /  \ \/__\ \__/ /_/\ / // /_/ / \/ / /  / /      
  22.          \_/[SP] \/   /\_____\ \_\____/ \/ \__  /    / /   \/       
  23.                       \/      \/            _/ /     \/             
  24.                                             \_/                
  25.                                                                S.H.Q
  26.                           Far Out Multi Node System
  27.                                               
  28.         Node1 +46-46-133489   Node2 +46-46-133482   Node3 +46-46-133424
  29.                                 
  30.     If you want to read this then download it!  No free loaders here!!
  31.                                     
  32. ··············································································
  33.  
  34.                     SNUSKBUSKE (DIRTYBUSH) of DUAL CREW
  35.  
  36.                                  Presents:
  37.  
  38.                   Professional Page 3.0 Supplement Manual
  39.  
  40.      OBS!  This is just the Supplement Manual w/ the new functions of
  41.           PPage 3.0 (incl. all ARRex commands) use this with the
  42.                       old 2.1 Docs (if ever released)
  43.  
  44.                   Professional Page 3.0 Supplement Manual
  45.                   ---------------------------------------
  46.  
  47.                              Table of Contents
  48.                              -----------------
  49.  
  50. 1. Introduction                                          1
  51.  
  52. 2. Hard Disk installation                                3
  53.    To Install Professional Page                          3
  54.  
  55. 3. Corrections to Manual                                 5
  56.    Changes to Keyboard Shortcuts                         6
  57.  
  58. 4. Improved Font Support                                 7
  59.    Adobe Type 1 Support                                  7
  60.    Using FontManager                                     7
  61.    Extra Fonts Included                                  9
  62.    Font Size                                             9
  63.  
  64. 5. New Page Design Features                             11
  65.    New Text Wrap Options                                11
  66.    New Text Import Filters                              11
  67.    Professional Draw V3.0 Fountain Fill Supported       12
  68.    Hot-Link to Professional Draw                        12
  69.    Undo                                                 12
  70.  
  71. 6. Improved Printing Capabilities                       15
  72.    Auto-Tiling                                          15
  73.    Improved Color Separation                            15
  74.  
  75. 7. Function Genies                                      17
  76.  
  77.    Executing a Function Genie                           17
  78.    Using the About Button                               17
  79.    Defining & Modifying Function Genies                 18
  80.    Function Genie List Management                       18
  81.    Function Key Genies                                  18
  82.    Unexpected Returns                                   19
  83.    The Supplied Function Genies                         19
  84.       ADProHotLink              GroupMove
  85.       Align                     GroupRotate
  86.       AllCaps                   GroupScale
  87.       AlterBoxesOnPages         GroupSpace
  88.       AutoImport                GroupTile
  89.       AutoSave                  InitialCaps
  90.       BoxAttr                   InsertDoc
  91.       BoxColors                 InsertPersonalInfo
  92.       Calculator                MailMerge
  93.       CommandLine               MakeBoxIntoColumns
  94.       CopyBoxAttributes         MakeGuides
  95.       CopyBoxContents           MovePage
  96.       CopyBoxToPages            NoCaps
  97.       CopyPageSpecs             ProCalcTableImport
  98.       CopyPages                 ProCalcTableUpdate
  99.       DeleteRange               ReplaceMergeCodes
  100.       DropCaps                  SavePrefs
  101.       DropShadowBox             SetPageSize
  102.       EnterPersonalInfo         SmallCaps
  103.       FindAndReplace            StepAndRepeat
  104.       GetTaggedText             SubScript
  105.       GreekBoxes                SubstituteFont
  106.       GroupAttr                 SuperScript
  107.       GroupCopyBoxAttr          TableImport
  108.       GroupCopyBoxContents      UnGreekBoxes
  109.       GroupCopyToPages          UnitsConverter
  110.       GroupDistribute
  111.  
  112. 8. Page Genies                                          33
  113.    Avery Labels                                         33
  114.    Business Report                                      34
  115.    Envelope                                             34
  116.    Full Page Ads                                        34
  117.    Traditional Newsletter                               35
  118.    Two-F old Brochure                                   35
  119.  
  120. 9. ARexx Support and Commands                           37
  121.    Technical Information                                37
  122.    Parameter & Return Information                       38
  123.    Page and Box Identifiers                             38
  124.    ARexx Commands                                       39
  125.  
  126.    General Functions Group Operations
  127.    User Interactive Functions PPage Parameter Settings
  128.    Page Operations Save & Load Operations
  129.    Page Parameters Dot Matrix Printing
  130.    Page PostScript Output Specs PostScript Printing
  131.    Box Operations Thumbnail Printing
  132.    Text Operations
  133.  
  134.  
  135. 1. INTRODUCTION
  136.  
  137. The new features incorporated into Professional Page for version 3.0
  138. offer a dramatic increase in the power of the application. Consequently,
  139. version 3.0 of Professional Page requires the use of a hard disk drive
  140. and two megabytes of RAM. Use of the Genies (which are automated
  141. sequences of operations) requires version 1.15 of ARexx. If you are using
  142. an earlier version of ARexx, you will need to get an updated version or
  143. (better still) Workbench 2.0, which includes ARexx V 1.15 as part of the
  144. operating system.
  145.  
  146. Although some of the new features are targeted at the needs of
  147. professional users, these enhancements offer more power and flexibility
  148. to all users, from the occassional hobbyist to the busy professional.
  149.  
  150. The additional capabilities can be grouped into four general categories:
  151.  
  152.    . Enhanced Font Support
  153.    . New Page Design Tools
  154.    . Improved Printing Capabilities
  155.    . Genies and ARexx Support
  156.  
  157. Some of the changes will be evident immediately upon loading Professional
  158. Page. For example, the Mop Tool has been replaced by the Genie Tool and
  159. the Page Move Tool has been replaced by the Undo Tool. Other changes will
  160. become evident as you begin to use version 3.0. One of the first of these
  161. that you will notice is the inclusion of named pages and boxes. This has
  162. been implemented to allow Genies to access objects by name. All of the
  163. additions and enhancements of Professional Page v3.0 are described in
  164. this addendum.
  165.  
  166.  
  167. 2. HARD DISK INSTALLATION
  168.  
  169. To use version 3.0 of Professional Page, the requisite files must be
  170. installed on your hard drive. Installation is accomplished by running
  171. two programs:
  172. lnstall_PPage and Install_CGFonts. You must run these programs from the
  173. Workbench! Instructions are given below but you may also wish to consult
  174. the HelpInstall program by double-clicking on its icon. If you wish, you
  175. may also print out the HelpInstall information by double-clicking on the
  176. PrintHelp icon.
  177.  
  178. To install Professional Page:
  179. Double-click on your hard drive's icon or on the icon of the partition
  180. onto which you want to install Professional Page. If you wish to install
  181. to a subdirectory or that partition, open the drawer for the desired
  182. subdirectory.
  183.  
  184. Insert the diskette containing the installation files into a floppy drive.
  185. Double-click the disk to open it and drag the icons for Install PPage and
  186. Install_CGFonts into the destination directory's window andclose the
  187. diskette.
  188.  
  189. Double-click the Install PPage icon and the installation will commence.
  190. You will be asked some questions relating to which files you want to
  191. install and, in the case of bitmap fonts, where you would like the files
  192. to be placed. When the installation process is complete, double-click the
  193. Install_CGFonts icon and respond as required.
  194.  
  195. For a general idea of the course of the installation process or to get
  196. more detailed instructions, double-click the HelpInstall icon.
  197.  
  198.  
  199. 3.CORRECTIONS TO MANUAL
  200.  
  201. In this section, we'll cover the corrections and updates to the main
  202. Professional Page manual. The page number of each item is in the margin
  203. to the left of the description. You may wish to mark the affected pages
  204. in the manual.
  205.  
  206. 8 The section entitled Making a Working Copv of Professional Page no
  207.   longer applies since version 3.0 of Professional Page requires a hard
  208.   disk. However, you should still make backup copies of the distribution
  209.   disks.
  210.  
  211. 20 Before undertaking the tutorial, you should first run Preferences to
  212.    set up your printer. Also on this page, it is stated that if the
  213.    program fails to load, it may be because you have only 512K of memory
  214.    and Professional Page requires a megabyte. Version 3.0 of Professional
  215.    Page actually requires two megabytes.
  216.  
  217. 23 At the bottom of the page it is stated that a Save of a newly-created
  218.    document will cause Professional Page to automatically name the
  219.    document "Untitled" and that it will be save to the default directory.
  220.    This is no longer the case. Now, when you select Save for an unnamed
  221.    document, it will function as does Save As. i.e. a file requester will
  222.    appear, allowing you to select the desired directory and specify a
  223.    descriptive name for your document.
  224.  
  225. 24 The section entitled "To clear the document in memory:" states that a
  226.    waiting requester appears when Project/New is selected. In fact, this
  227.    waiting only appears when changes have been made to the document since
  228.    the last Save operation.
  229.  
  230. 25 This page makes reference to a Sort button in a file requester. This
  231.    button has been removed; Professional Page sorts the filenames
  232.    automatically.
  233.  
  234. 26 The discussion of box creation instructs you to place the bottom right
  235.    corner of your box at the 7.5" x 3" position. There is no particular
  236.    significance to this location aside from the suggestion to use the
  237.    ruler line for reference.
  238.  
  239. 27 The second point under "To move a box:" states: "The coordinates of the
  240.    top left comer of the box appear on the right side of the menu strip,.."
  241.    It should read: "...on the left side..."
  242.  
  243. 39 The top line reads: "Click on the first file: NEWSLETTER1.txt".
  244.    This is the correct filename but it is not the first file shown in
  245.    the file requester.
  246.  
  247. 258 The definition of halftone as given on this page is really a
  248.     definition of the onscreen simulation of a halftone. In the printing
  249.     industry, halftone refers to the technique of breaking a continuous-
  250.     tone copy into v arious size dots to make it printable. It is a
  251.     reproduction of an image containing a gradual change from one tone to
  252.     another. When viewed from a normal distance, this collection of dots
  253.     simulates continuous tones.
  254.  
  255. Changes to Keyboard Shortcuts:
  256. There are several new keyboard equivalents in version 3.0 of Professional
  257. Page and one keyboard equivalent has been eliminated. You may wish to make
  258. some notes to this effect on your Quick Reference Card and/or in Appendix
  259. B of the main manual.
  260.  
  261.      . c[ - Box Impermeable Toggle
  262.        This shortcut has been eliminated and the text wrap options (see
  263.        Section 5) now take its place.
  264.  
  265.      . cY - Box Text Wrap Cycle.
  266.        This shortcut will cycle through the three styles of text wrap.
  267.  
  268.      . cW - Text Wrap Side Cycle
  269.        This shortcut will cycle through the text wrap side options.
  270.  
  271.      . A\ - Hot-link to Professional Draw
  272.        This is the shortcut for sending a clip from Professional Page to
  273.        Professional Draw for editing (see Section 5). It is equivalent
  274.        to the new menu selection Draw/PDraw.
  275.  
  276.      . aDEL - Delete Contents
  277.        This is the shortcut for deleting an article (text in a box or
  278.        chain of boxes). It is equivalent to the new menu selection
  279.        Box/Delete Contents which provides the functionality previously
  280.        offered by the Mop Tool.
  281.  
  282.      . cQ - Invoke Page Genies
  283.        This shortcut will initiate page creation via the Page Genie
  284.        facility. It is equivalent to the menu selection
  285.        Page/Create/from Genie.
  286.  
  287.  
  288. 4. IMPROVED FONT SUPPORT
  289.  
  290. Adobe Type 1 Support:
  291. A new utility has been added to the Professional Page package. This
  292. utility, FontManager, is used to convert an Adobe Type 1 font to a
  293. Compugraphic format font. Users of Professional Page may now access the
  294. full Adobe type library. In addition, the Compugraphic output of
  295. FontManager may also be used as system fonts under Workbench 2.0.
  296.  
  297. Using FontManager
  298. To convert an Adobe Type 1 font into a Compugraphic font, two files are
  299. required: the Printer Font Binary file and the Adobe Font metric file.
  300. The Printer Font Binary file contains the actual character outlines and,
  301. when supplied on MS-DOS format disks, these files are generally named
  302. <fontname>.PFB. The Adobe Font Metric file contains information concerning
  303. the placement of characters; i.e., width and kerning data. These files are
  304. generally named <fontname>.AFM on MS-DOS format disks. Both of these files
  305. must be present in FontManager's source directory for each Type 1 that you
  306. want to convert.
  307.  
  308. If you acquire Adobe fonts in a format other than MS-DOS, your font
  309. filenames may use other extensions. In that case, you will need to check
  310. with your supplier to determine which file contains font outlines and
  311. which file contains font metrics. FontManager will transparently convert
  312. fonts from any source MS-DOS, Macintosh or Amiga.
  313.  
  314. Run FontManager by double-clicking on its icon. The program opens a window
  315. with a dual-directory di splay, one for source directory (where the tfont
  316. binary and font metric files are located) and one for destination
  317. directory (generally CGFonts :). Each directory list box has the standard
  318. gadgets associated with such objects; the scrollbar, a pair of scroll
  319. buttons and a string gadget containing the pathname. In addition, each
  320. list box has four other gadgets.
  321.  
  322. The first is the module gadget which is located atop the directory list.
  323. The source module is Adobe Type 1 and the destination module is either
  324. CG Library or CG Library 020 +881. If you are using an accelerated Amiga,
  325. you will want to use the latter module since a significant increase in
  326. speed will be realized. The second and third gadgets (the disk icon and
  327. the up-arrow by its side) offer an alternative to typing the pathnames
  328. into the string gadgets. Clicking on the disk icon will put a device list
  329. into the list box. This list contains physical devices (indicated as
  330. <DSK>) as well as assigned volumes (indicated as <LOG>).
  331. Double-click the name of the device and the files and subdirectories of
  332. that device will be displayed. Double-click on the directory that contains
  333. your Type 1 fonts. If you need to back up, click on the up-arrow gadget to
  334. view the parent directory. When the filnames of vour Tvpe 1 fonts appear
  335. in the requester, click on the font binary f.ile of the font that you wish
  336. to convert. If you wish, you may shift-click to select multiple fonts for
  337. conversion.
  338.  
  339. The fourth gadget is a 'fuel gauge' that is used to show the status of
  340. read/write operatious. The left gadget will fill as the source font is
  341. read in. When that gauge reached 100%, the destination gadget will begin
  342. to fill. When this gauge has reached 100%, the conversion is complete.
  343.  
  344. At the left of the window are the four gadgets that drive the application.
  345. Top to bottom. the four icons represent: Convert, Preview, Abort and
  346. Iconify. Convert will read in the source files and write out the proper
  347. Compugraphic format files to the destination directory. Preview will read
  348. in the source files and display a sample of the typeface in a new window.
  349. Abort will terminate an operation after first requesting your confirmation.
  350. If you're running Workbench 2.O, clicking Iconify will collapse
  351. FontManager's window into a tiny window.
  352.  
  353. To be used with Professional Page, each Compugraphic font must be
  354. comprised of three files: <fontname>.dat, <fontname>.lib and
  355. <fontname>.metric. With all three files in your CGFonts: volume, the font
  356. is ready to be used in your documents. These files are all that is needed
  357. for the onscreen display and for dot-matrix printing. However, you will
  358. need one more file if you intend to use the font in PostScript output the
  359. <fontname>.psfont file. This is the font definition file that is written
  360. into the PostScript output when you have selected Include Downloadable
  361. Fonts in the Output to PostScript requester. Such files reside in the
  362. CGFonts:ps directory.
  363.  
  364. When you click on Convert, FontManager will ask you if you want the
  365. downloadable font file to be placed into the CGFonts:ps directory.
  366. If you wish to print PostScript, you must answer affirmatively to this
  367. question; otherwise, nothing will be downloaded and a different font will
  368. be substituted when the file is actually printed.
  369.  
  370. Extra Fonts Included:
  371. In addition to the original 19 bitmap fonts, Professional Page is now
  372. supplied with seven Compugraphic fonts:
  373.  
  374.    . Caslon540
  375.    . CG Omega
  376.    . CG Times
  377.    . CG Triumvirate
  378.    . Garth Graphic
  379.    . Shannon Book
  380.    . Uncial
  381.  
  382. These typefaces can be used in a wide variety of typesetting situations.
  383. Due to the Compugraphic Bullet technology built into Professional Page,
  384. these typefaces are always represented as smooth outlines (both onscreen
  385. and in print).
  386.  
  387. Font Size:
  388. In version 3.0, you may specify font sizes to an eighth of a point. Any
  389. value may be entered in the Point Size requester; however, all values are
  390. rounded to the nearest eighth of a point. For example, a value of 12.062
  391. will result in a point size of 12.000, while a value of 12.063 will
  392. result in a point size of 12.125.
  393.  
  394. Although this degree of text rendering precision is beyond the
  395. capabilities of the Amiga monitor or of many dot matrix printers, high-
  396. resolution imagesetters are capable of reproducing fractional point sizes
  397. accurately.
  398.  
  399. Note that the Point Size requester now contains an Add to Menu gadget.
  400. When this gadget is deselected, the new point size will not be added to
  401. the list of point sizes in the menu. This is a convenient way of keeping
  402. the point size list to a manageable size by omitting 'one time only'
  403. point sizes.
  404.  
  405.  
  406. 5. NEW PAGE DESIGN FEATURES
  407.  
  408. New Text Wrap Options:
  409. Version 3.0 of Professional Page allows vou to define the text wrap
  410. options of a box. This replaces the permeable/impermeable featnre that
  411. was part of previous versions. There are two sets of options associated
  412. with the text wrap options.
  413. The first set consists of: None, Rectangle and Irregular. None is
  414. equivalent to the old Box Permeable; i.e., the box will not displace any
  415. text. Rectangle is equivalent to Box Impermeable; i.e., text will be
  416. displaced to flow around the box. Irregular will displace text to flow
  417. around any structured graphic.
  418.  
  419. When Irregular is selected, the second group of options come into play.
  420. They are: Widest, Left, Right and Exclude. Widest will flow text around
  421. the structured graphic on whichever side there is the most room. Left
  422. and Right will flow text around the specified side of the box. Exclude
  423. will not allow any text on either side of the box. Text will flow to the
  424. top of the box and will continue below the box bottom.
  425.  
  426. When your Text Wrap Option is set to Rectangle or Irregular, you should
  427. enter a value in the Text Standoff gadget to allow some whitespace
  428. between your graphic and the surrounding text.
  429.  
  430. New Text Import Filters:
  431. The addition of new text filters makes the process of importing text more
  432. convenient. These text filters understand the native formats of common
  433. Amiga word processors (such as ProWrite, QuickWrite, excellence!, etc.)
  434. and will retain text styles and some formatting information. lf you are
  435. using any of the supported word processors you need no longer save your
  436. text as ASCII but may instead Save in the software's own format. You
  437. should still refrain from attempting to incorporate graphic material into
  438. your text files however the graphic materials should be imported into
  439. Professional Page directly.
  440.  
  441. To accommodate the new formats, a new text filter management system has
  442. been implemented. You select the import format from a list box that
  443. appears when you select Import/Text from the menus. From time to time,
  444. Gold Disk will make additional filters available.
  445.  
  446. Professional Draw V3.0 Fountain Fill Supported:
  447. Professional Draw (V3.0) or higher) allows you to apply fountain fills to
  448. objects. Such fills are used as picture components or to provide shaded
  449. backdrops to your page elements. Judicious use of this technique may
  450. impart a more professional look to your pages. Incremental variation of
  451. backdrop shading is often seen in adverising materials, greeting cards,
  452. etc. In version 3.0 of Professional Page, fountain fills that are
  453. contained in Professional Draw clips are displayed and printed.
  454.  
  455. Hot-Link to Professional Draw:
  456. Users of Professional Page may now access the full power of Professional
  457. Draw directly from Professional Page. Clips may be transferred to
  458. Professional Draw for editing or adjustment. This function operates in the
  459. same manner as the hot-link to the Article Editor. For the hot-link to
  460. work, Professional Draw must be running. This will only work with
  461. Professional Draw V3.0 or higher.
  462.  
  463. To operate the hot-link, simply click on a box containing a Professional
  464. Draw clip and select PDraw from the Draw menu or press right-Amiga-
  465. backslash (the slash on the keyboard's top row).
  466.  
  467. Undo:
  468. The Undo feature is one that will be welcomed by users at all levels. If
  469. you shonld make a mistake or if an operation results in an undesirable
  470. side effect, simply click on Undo in the toolbox and your previous
  471. condition will be restored. The Undo Tool replaces the Page Move Tool in
  472. the Toolbox. You may still move the view of the page by means of the
  473. Page Move gadget or by using the cursor keys when not in Edit mode.
  474.  
  475. The following operations may be undone:
  476.  
  477.    . Changes made via the box attributes requester
  478.    . Changes made to the border data of a box
  479.    . Changes to the cropping of a box
  480.    . Deletion of a box
  481.    . Deletion of the contents of a box
  482.    . Repositioning of a box
  483.    . Reordering of a box (box to front/back)
  484.    . Rotation of a box
  485.    . Scaling of a box
  486.    . Aligning a group
  487.    . Centering a group
  488.    . Deleting a group
  489.    . Moving a group
  490.  
  491. Whenever you use one of the preceding operations, you create a situation
  492. in which an Undo operation is pending. When an Undo is pending, the Undo
  493. Tool is activated; when there is no pending Undo, the Undo Tool is
  494. ghosted. Note also that Undo works on the most recent operation only,
  495. without Redo; i.e. you cannot undo an Undo operation.
  496.  
  497. Further, some operations will cancel the pending Undo.
  498. These operations are:
  499.  
  500.    . Box Clone
  501.    . Box Import (hitmap, text, etc.)
  502.    . Box Link
  503.    . Box Unlink
  504.    . Create Box
  505.    . Edit Text
  506.    . Clone group
  507.    . Forget group
  508.    . Make group
  509.    . Merge group
  510.    . Delete page
  511.  
  512.  
  513. 6. IMPROVED PRINTING CAPABILITIES
  514.  
  515. Auto-Tiling:
  516. Auto-tiling allows you to produce output that is larger than your printer's
  517. physical page size. This function is available for Preferences printers as
  518. well as PostScript printers. You may define a page up to 48" x 48".
  519. Professional Page will output the oversize page in segments on a series of
  520. standard printer pages. If you commonly send oversize pages to a service
  521. bureau, this feature will allow you to proof the job on any available
  522. printer.
  523.  
  524. Improved Color Separation:
  525. Several improvements have been made to the color separation functions. Of
  526. primary concern to the user is the new manner of defining Undercolor
  527. Removal (UCR). UCR may now be specified as a threshold (expressed as a
  528. percentage). The percentage that you enter in the output requester
  529. specifies the minimum of YMC (yellow, magenta and cyan) below which no
  530. color is removed. Thus, UCR now removes grey only from the darkest areas,
  531. thereby retaining the subtleties of colors which might otherwise be lost.
  532. For more information about UCR and color separations in general, please
  533. consult the Professional Page main manual, Chapter 9: Using Color and
  534. Chapter 10: Output.
  535.  
  536.  
  537. 7. FUNCTION GENIES
  538.  
  539. Professional Page's new Function Genie facility is useful for automating
  540. common operations, creating special effects or maVing major changes to an
  541. existing document (such as changing the size of every page). In fact, it
  542. is now possible to do virtually anything with Professional Page with just
  543. a few clicks of the mouse! A number of sample Function Genies have been
  544. included in your Professional Page package.
  545.  
  546. Professional Page Function Genies are implemented as ARexx scripts so they
  547. require ARexx to function. Consequently, you must have ARexx running and
  548. the rexx: directory assigned. If the rexx: directory is not assigned i
  549. your system when you load Professional Page, you will be presented with
  550. a requester telling you to "Insert volume rexx: in any drive". If you
  551. have not run the RexxMast program to make ARexx available, you will
  552. get an error message saying "Genies require ARexx to operate." when you
  553. start Professional Page. If you get this message, quit Professional Page,
  554. start RexxMast and restart Professional Page.
  555.  
  556. Since Function Genies are actually ARexx scripts, the Genie facility
  557. allows you to run and even edit ARexx scripts from within the application
  558. itself. For more details of both the implementation and the av ailable
  559. ARexx commands, please see Section 9 of this Addendum.
  560.  
  561. Executing a Function Genie:
  562. When you select the Function Genie Tool (which resembles a smoking 'magic
  563. lamp') a list box will appear with the list of available Function Genies
  564. and a grouping of several buttons. The Function Genies displayed in the
  565. list box are not in memory, but are on disk (in rexx:). To execute a
  566. Function Genie, simply double-click on it (or select it from the list and
  567. click on the Execute button). Some Function Genies involve prompts to the
  568. user. These prompts are displayed on the title bar.
  569.  
  570. Using the About Button:
  571. Information is available which describes the use of each Function Genie.
  572. After you select the Function Genies Tool and the list box shows the
  573. available Function Genies, simply select the desired Genie with the mouse
  574. and click on the About button. A window will open and the information for
  575. that Function Genie will be displayed.
  576.  
  577. Defining & Modifying Function Genies:
  578. New Function Genies may be created by clicking on the Define button.
  579. This will bring to the front the Article Editor so that you may enter the
  580. ARexx script for your Function Genie. You may also edit existing scripts
  581. by selecting one from the list box and clicking on the Modify button. Do
  582. not use any style changes (i.e bold, italic) as ARexx will consider them
  583. to be errors.
  584.  
  585. When you have finished editing, choose Send Text Home in the Article
  586. Editor's Special menu to send the script back to Professional Page (just
  587. as you do when editing text). The program will prompt you for a name for
  588. the newly-created Genie and it will automatically be saved to the rexx:
  589. directory. You need not append a suffix to the name as Professional Page
  590. will automatically append a .pprx extension (which will not appear in the
  591. Genie list).
  592.  
  593. When creating a new Function Genie, you must begin with a comment line.
  594. ARexx requires this. A comment in ARexx begins with "/*" and ends with "*/"
  595. Here are some examples:
  596.  
  597. /* This is an ARexx comment. */
  598.  
  599. /*
  600. The comment need not be en a single line. It just
  601. needs to start and end wIth the right characters.
  602. */
  603.  
  604. It's a good idea to use the comment line for describing the program's
  605. function since the information contained in this initial comment is
  606. displayed when you click on the About button.
  607.  
  608. Function Genie List Management:
  609. The install PPage program will place the Function Genies into the rexx:
  610. directory. When you select the Function Genie Tool, the list box will
  611. display that list of the available Function Genies. However, if you have
  612. Genies in a directory other than rexx:, you may still access them by
  613. clicking on the import button which will bring up a file requester.
  614. Importing a Function Genie in this way will make it available by copying
  615. it to the rexx: directory.
  616.  
  617. The Delete button allows you to delete a Function Genie. However, you
  618. should be aware that it is the Function Genie file on disk that is
  619. actually deleted and, once deleted, the file is not recoverable.
  620.  
  621. Function Key Genies:
  622. You may assign a function key shortcut to any Function Genie by selecting
  623. the desired Function Genie and clicking on the Keys button. Professional
  624. Page will then prompt you to hit a Shortcut key. This must be either the
  625. Alt key in conjunction with one of the function keys or Alt-Shift in
  626. conjunction with a function key. The keyboard shorcut associated with a
  627. Function Genie (if any) is displayed to the right of the Genie's name.
  628. To cancel a shortcut assignment, simply select the Function Genie, click
  629. on Keys, and hit the Esc key.
  630.  
  631. Unexpected Returns:
  632. If ARexx encounters any problems when a Function Genie is executed, a
  633. Results from ARexx command screen will pop up to allow you to read the
  634. ARexx messages and/or errors generated by the execution of the Function
  635. Genie. You are likely to see this screen when developing new Genies.
  636.  
  637. If there are more messages and/or errors than will fit on the screen,
  638. the word "[MORE]" will appear at the bottom right of the screen. You may
  639. use the cursor keys or the left mouse button to scroll through the list.
  640. When you are finished reading your results, you can close the screen by
  641. pressing the 'q' key, the Return key or by pressing the right mouse button.
  642.  
  643. The Supplied Function Genies:
  644. The reminder of this section is devoted to a description of the purpose
  645. and operation of the Function Genies that are included in your Professional
  646. Page package. Note that many of these Genies will put prompts and status
  647. reports into the Professional Page title bar and consequently you must be
  648. attentive to changes in the title bar.
  649.  
  650. Some Genies (Calculator, SmallCaps, NoCaps, FindAndReplace, AllCaps, etc.)
  651. require the Use of gdarexxsupport.library. This file is placed into your
  652. libs: directory automatically when you run Install PPage. If the file is
  653. removed from your libs: directory, you will get an error message from any
  654. Genie that requires the use of this library. Copying the
  655. gdarexxsupport.library file to your libs: directory will allow you to
  656. continue.
  657.  
  658. ADProHotLink:
  659. This Genie will run Art Department Professional (published by ASDG
  660. Incorporated) and pass a bitmap graphic to it from your Professional Page
  661. document. First, you are prompted on the title bar to select a box
  662. containing a bitmap. Click in the desired box. If it does not contain a
  663. bitmap, you will get an error and the Genie will terminate.
  664. When a valid box is selected, you will be presented with a list box that
  665. contains the ADPro screen modes: HIRES, V_OVERSCAN, INTERLACE, PAL and
  666. H_OVERSCAN. Select the desired mode and click on OK. Next, you must
  667. select the Render Mode for ADPro. Click on your choice and click on OK.
  668. The next requester prompts for the image dimensions. The values shown in
  669. the Width and Height string gadgets represent the size of your bitmap in
  670. pixels. The Genie will then try to run ADPro. If ADPro exists under that
  671. name in an assigned volume named ADPro: (i.e. the full path is
  672. ADPro:ADPro), it will run automatically; otherwise, a file requester will
  673. appear so that you can tell the Genie where to find ADPro.
  674.  
  675. You must save your changes to the bitmap file and quit ADPro to continue
  676. using Professional Page. The Genie will sleep until you quit ADPro; at
  677. which time, your graphic will be returned to its box in the Professional
  678. Page document while "Reimporting bitmap.." appears in the title bar.
  679.  
  680. Align:
  681. This Genie aligns boxes at a user-specified position. You are prompted to
  682. click on the boxes to be aligned. Each time you select a box, a boxnumber
  683. is returned to the Genie. Once you have clicked on all the boxes you want
  684. to align, click on the page itself or on the art board. Clicking on a
  685. position where there is no box returns a boxnumber of 0, which signals the
  686. Genie that you are finished selecting boxes.
  687.  
  688. The Select alignment.. list box will prompt you for the type of alignment.
  689. Supported alignments are: Bottom, Center Horizontally, Center Vertically,
  690. Left, Right an Top. Make your selection and click on OK. In the next
  691. requester, enter the position (in current units) on the page where the
  692. boxes are to be aligned. For example, selecting Top for alignment and 1
  693. for position (with inches as the current units), will align the tops of
  694. the selected boxes at the 1" mark of the vertical ruler.
  695.  
  696. AllCaps:
  697. This Genie will convert a selected block of text to all uppercase. You
  698. must be in edit mode. If you try to invoke it from any other mode, an
  699. error message will appear. If you have not selected a block of text, you
  700. will get an ARexx error message.
  701.  
  702. AlterBoxesOnPages:
  703. This is handy if you have already created some pages from the templates
  704. or the default and then wish to change the attributes of one of the
  705. component boxes. This Genie will alter the occurrence of that component
  706. box on each of the page in a specified range.
  707.  
  708. You are prompted (on the title bar) to select the recurring box that you
  709. wish to alter. A list box will appear, allowing you to choose the attribute
  710. to be altered. A requester will prompt you for the change(s) to be made.
  711. Another requester prompts you to specify the range of pages to be altered.
  712. Enter the swing page number of the range in the From gadget and the ending
  713. page number of the range in the To gadget. The third gadget in this
  714. requester allows you to choose whether to apply the changes to odd pages,
  715. even pages or all pages in the specified range.
  716.  
  717. AutoImport:
  718. This Genie will import a text file and paste it into your document,
  719. creating as many pages as required to accommodate the entire file. First,
  720. create a page and then execute this Genie. You will be prompted to click
  721. on the box into which the text is to be imported. There may be several
  722. linked boxes on the page. Click in the first box of the chain. The box
  723. must be empty. After you've clicked on the box, a file requester will
  724. appear, allowing you to select your text file.
  725.  
  726. When that is done, the Genie imports the text file and pastes it into the
  727. selected box. If the text overflows that box, a new page is created. The
  728. newly-created page will be a duplicate of the first page in the chain.
  729. Each new page is automatically linked to the previous page. This process
  730. continues until all text has been flowed into the document.
  731.  
  732. The first page in the chain need not be the last in the document; the
  733. resulting pages are inserted. In other words, if you have a four-page
  734. document and you AutoImport a file which requires two pages into page 3,
  735. a new page 4 will be created for your file and the original page 4 will
  736. become page 5.
  737.  
  738. AutoSave:
  739. This Genie can spare you a lot of grief. It will prompt you to save your
  740. work at regular intervals and, optionally, creak a backup file for you.
  741. The backup file is the original copy of the file for this session. For
  742. example, if you run Professional Page and load a document file called
  743. MyDoc, a backup file file of that version of the document is made
  744. (MyDoc.bak) and each time you save, the file MyDoc is updated. For the
  745. duration of that session, MyDoc.bak will remain the same. The next time
  746. you run Professional Page and work with MyDoc, a new MyDoc.bak file will
  747. be created.
  748.  
  749. When the Genie is executed a requester will present you with two prompts:
  750. one for the number of minutes to wait before prompting you to save And one
  751. requesting whether the Genie should make backup files. Enter appropriate
  752. responses and click on OK. The Results from ARexx command screen will
  753. appear with the message "running AutoSave macro. [CLI x]" where x is a
  754. number that will vary depending on the number of CLI processes running in
  755. your machine. Click the right mouse button to close the screen And resume
  756. working.
  757.  
  758. When the specified interval has elapsed, a dialog box will appear on the
  759. screen, asking if you want to save now. Clicking Yes will save your
  760. document and, if you have directed the Genie to do so, a backup file will
  761. be created. Clicking on No will bypass the save operation but leave the
  762. Genie running. Clicking on Cancel will terminate the AutoSave Genie.
  763.  
  764. If you wish, you can use the SavePrefs Genie (see below) to make the
  765. AutoSave Genie run automatically every time you run Professional Page.
  766.  
  767. BoxAttr:
  768. This Genie will allow you to apply an attribute change to a selection of
  769. boxes on the page. You will be prompted to select the box attributes that
  770. you wish to change. The choices are: Angle, Frame, FrameData (line color,
  771. fill color, line weight, line pattern, fill pattern), Hide, Tabs, Text
  772. Wrap, Lock, Margins, Offset, Position, Size, Standoff and Transparent.
  773. Select the desired attribute and click on OK. You are then prompted to
  774. click on the boxes to which the changes will be applied. When all boxes
  775. have been selected, click on the page itself or on the artboard. Then
  776. enter the new attribute(s) in the requester that appears.
  777.  
  778. BoxColors:
  779. Use this Genie to invert a text box; i.e. switch to light text on a dark
  780. background. First you are prompted to click on the box to be inverted.
  781. Then a list box appears containing the current color list. Click on the
  782. desired box fill color and click OK. The list box reappears and prompts
  783. you to select the desired text color. Make your selection and click on OK.
  784.  
  785. Calculator:
  786. This Genie will evaluate a one-line mathematical expression and display
  787. the result for you.
  788.  
  789. CommandLine:
  790. This Genie allows you to issue ARexx commands directly. This is only
  791. recommended for advanced users. If the command takes no parameters,
  792. the empty parentheses may be left off and the Genie will append them
  793. automatically.
  794.  
  795. CopyBoxAttributes:
  796. This Genie will copy an attribute from a selected box to one or more
  797. boxes on the same page. When prompted, click on the box whose attribute
  798. is to be copied. The next prompt will direct you to click on the boxes
  799. to which the attribute will be applied. When all destination boxes have
  800. been selected, click on the page itself or on the artboard to signal the
  801. Genie to proceed.
  802.  
  803. The Select attribute to copy requester will then appear. Click on the
  804. attribute to be copied and click on OK. "Working.." will appear in the
  805. title bar until the Genie has completed its job.
  806.  
  807. CopyBoxContents:
  808. This Genie will copy the contents of a selected box to one or more other
  809. boxes on the page. The first title bar prompt directs you to select the
  810. box whose contents are to be copied and then the recurring prompt directs
  811. you to select destination boxes. When all destination boxes have been
  812. selected, click on the page itself or on the artboard to signal the Genie
  813. to proceed. "Working.." will appear in the title bar until the Genie has
  814. completed its job.
  815.  
  816. CopyBoxToPages:
  817. This Genie will replicate a selected box across a range ofpages. When
  818. prompted, click on the box to be replicated. Once the box has been
  819. selected, an Enter options requester will appear, prompting you for the
  820. first and last page number defining the destination range. You also have
  821. the option of copying the selected box to odd, even or all pages.
  822.  
  823. CopyPageSpecs:
  824. This Genie will copy the page specifications of the current page to a
  825. range of destination pages. The page specifications are the data that
  826. you access by selecting Page/Alter/Current from the menus.
  827.  
  828. CopyPages:
  829. This Genie will create new pages from a given range of pages. A dialog
  830. box appears requesting input for from, to and number of copies. As an
  831. example, if you have a one-page document and you input "1" for from, "1"
  832. for to and "3" for number of copies, the result will be a four-page
  833. document in which the last three pages are duplicates of the first. Any
  834. existing pages following the source range will be pushed forward to
  835. higher page numbers to make room for the insertion of the copied pages.
  836.  
  837. DeleteRange:
  838. This Genie deletes a range of pages. Simply enter the page numbers
  839. corresponding to the first and last pages of the range to be deleted.
  840. As you would expect, any existing pages following the deleted range are
  841. pulled back to lower page numbers, replacing the deleted range.
  842.  
  843. DropCaps:
  844. This Genie creates a drop cap. This will only work on the first line of
  845. the box. First you must click in the box that contains the text that is
  846. to be drop-capped. Then a requester appears containing two string gadgets.
  847. Enter the number of characters to be affected and the number of lines of
  848. text that the drop cap is to traverse. After clicking on OK, you are
  849. presented with the Select Drop Cap font requester. Select the desired
  850. font and click on OK. The first x characters are extracted from the text
  851. and a new box is created at the top left hand comer of the text box with
  852. the first x characters confined within it.
  853.  
  854. DropShadowBox:
  855. This Genie creates a dropshadow for a selected box. First you must click
  856. in the box that is to be dropshadowed. The Select Drop Shadow offset
  857. requester appears containing two string gadgets, allowing you to specify
  858. values for X and Y. These values represent the left and top offsets of
  859. the dropshadow box and consequently, the width of the drop shadow around
  860. the selected box.
  861.  
  862. When you click on OK, the new box is created with the specified offsets
  863. and the Select Fill Color requester appears. Click on the desired color
  864. for the dropshadow and click on OK. The new box is then filled with the
  865. specified color and the originally selected box is brought to the front.
  866. If you are in WireFrame Graphics mode, the dropshadow will not be
  867. immediately evident and you will be notified that you must select
  868. WireFrame Graphics to see the results.
  869.  
  870. EnterPersonallnfo:
  871. This Genie will put up a form requesting your name, address, etc. Enter
  872. your personal info into the string gadgets and click on OK. The data
  873. you enter will be saved in a file (s:ppage.config) and you may then
  874. insert your personal info into a box at any time by invoking the
  875. InsertPersonallnfo Genie (see below).
  876.  
  877. FindAndReplace:
  878. This Genie will do a global search and replace operation. The Enter
  879. Search String requester will prompt you for the search string and the
  880. replace string. Once those have been entered, you are asked whether or
  881. not the search should be Case sensitive. The Genie will then search
  882. every text box in the document and make all the specified replacements.
  883. The title bar will display "Working" until all boxes have been searched.
  884.  
  885. GetTaggedText:
  886. This Genie will gather a list of style tags from within a document and
  887. gather all tagged paragraphs into a previously created box. This is a
  888. convenient method for generating a Table of Contents. You must be in edit
  889. mode to use this Genie.
  890.  
  891. The style tags used in your document are presented in a Select tags to
  892. collect list box. Click on the names of the tags you want to collect. For
  893. a Table of Contents, these will generally be chapter titles, headings and
  894. subheadings. Next, you must click in the box into which the text is to be
  895. placed. "Working" will appear in the title bar while this Genie is
  896. performing its task.
  897.  
  898. GreekBoxes:
  899. This Genie will greek some or all of the boxes in a document. You specify
  900. the type of boxes to greek in the Select boxes to greek list box. The
  901. choices are: All, Bitmap, EPSF, PDraw Clips, Structured Graphics and Text.
  902. Select one or more types of boxes and click on OK. All boxes matching your
  903. selection criteria will be displayed with a large X in them.
  904.  
  905. GroupAttr:
  906. This Genie will allow you to alter the attributes of a selected group. If
  907. no group is selected, you will receive an error message instructing you
  908. to first select a group.
  909. A list box will appear directing you to select the attribute to be
  910. changed. The choices are: Angle, Frame, FrameData Hide, Tabs, Text Wrap,
  911. Lock, Margins, Offset, Position, Size, Standoff and Transparent. Select
  912. the desired attribute and click on OK. Enter the new attribute(s) into
  913. the requester that appears and click on OK. The new attribute will be
  914. applied to every box in the group.
  915.  
  916. GroupCopyBoxAttr:
  917. This Genie is used to copy an attribute of a selected box to the current
  918. group. A prompt will direct you to click on the box whose attribute is to
  919. be applied to the group. A list box will appear instructing you to select
  920. the attribute to be changed. The choices are: Angle, Frame, FrameData,
  921. Hide, Text Wrap, Lock, Margins, Offset, Position, Size, Standoff and
  922. Transparent. Select the desired attribute and click on OK. The selected
  923. attribute will be applied to every box in the group.
  924.  
  925. GroupCopyBoxContents:
  926. This Genie will copy the contents of one box to all the boxes in the
  927. current group. When prompted, click on the ungrouped box whose contents
  928. is to be placed into each of the boxes of the group. No other user input
  929. is required. "Working.." will appear in the title bar until the contents
  930. have been copied to all group boxes.
  931.  
  932. GroupCopyToPages:
  933. This Genie will copy the selected group to a range of pages that you
  934. specify. The Enter options requester prompts you for a starting page,
  935. ending page and whether the group should be copied to odd, even or all
  936. pages. A "Done" dialog box will inform you when the group has been copied
  937. to all the specified pages.
  938.  
  939. GroupDistribute:
  940. This Genie will distribute boxes over a user-selected distance (both
  941. horizontally and vertically). This is particularly convenient when you
  942. have created a box and cloned a number of new boxes from it. Select the
  943. group and invoke the Genie. You will be selecting the manner of
  944. distribution and the amount of space.
  945.  
  946. The Horizontal Distribution requester offers five choices: Boxes,
  947. Centers, Left, None and Right. Boxes will divide the total space into
  948. equal parts. The space between each of the boxes will be equal to one of
  949. those parts. Centers will position the box centers evenly over the
  950. specified space. Left and Right will position the specified box edges
  951. evenly over the specified space. None will result in no horizontal
  952. displacement of the boxes in the group.
  953.  
  954. The Vertical Distribution requester, its choice and results, is the same
  955. as the horizontal one except that it WOrks in the other dimension. When
  956. you have selected from both requesters, a new requester prompts you for
  957. From and To values. These values define the space within which the group
  958. will be distributed. Enter appropriate v alues to define the desired
  959. area on the page.
  960.  
  961. GroupMove:
  962. This Genie will move the group to a new position on the page. The Enter
  963. coordinates requester will appear, displaying the current values for the
  964. left and top positions of the group. Enter the appropriate values for the
  965. group's desired position. Note that these values are applied to the group
  966. and not to a specific box within the group. In other words, the new left
  967. position will be applied to the leftmost box of the group and the new top
  968. position to the topmost box.
  969.  
  970. GroupRotate:
  971. This Genie will rotate a group to a specified angle. Simply enter the
  972. desired angle into the Rotation Angle requester and click OK. The group
  973. will rotate counterclockwise around the top left point of the group.
  974. Entering negative values will rotate the group clockwise.
  975.  
  976. GroupScale:
  977. This Genie will scale a group to a new size. A Select Scaling Options
  978. requester will prompt you for a percentage for width and height. These
  979. values will be applied to the box positions as well as to their size.
  980. It will probably be necessary to manually adjust the font size of text
  981. contained within the boxes. For this reason, this Genie is best applied
  982. in the earlier stages of layout, before the boxes are filled in.
  983.  
  984. GroupSpace:
  985. This Genie will space boxes both horizontally and vertically, based on
  986. user input. This is also convenient when you have created a box and
  987. cloned a number of new boxes from it. Select the group and invoke the
  988. Genie. You will be selecting the manner of distribution and the size of
  989. the space between boxes in the group.
  990.  
  991. The Horizontal Spacing and Vertical Spacing requesters offer the same
  992. choices as their counterparts in GroupDistribute; however, in this Genie
  993. you specify the amount of space between each element of the group, rather
  994. than the total space occupied by the group.
  995.  
  996. GroupTile:
  997. This Genie will replicate a group until it fills the page. This is a
  998. quick and easy way to create a tiled backdrop. A significant time savings
  999. will be realized by those who have been creating such pages manually! An
  1000. Enter coordinate's requester will appear containing six string gadgets
  1001. for: Start X, Start Y Number of Columns, Number of Rows, Horizontal
  1002. spacing and Vertical spacing. The Genie displays appropriate calculated
  1003. values (based upon current margin settings and the size of the group) but
  1004. you are free to alter them if you wish. Click on OK when all coordinates
  1005. are acceptable and the group will be tiled to fit the page.
  1006. Note that the group is moved to the top left corner of the page before
  1007. it is tiled.
  1008.  
  1009. InitialCaps:
  1010. This Genie will capitalize the first letter of all words in a selected
  1011. block of text. This Genie works only in edit mode.
  1012.  
  1013. InsertDoc:
  1014. This Genie will insert a previously saved Professional Page document
  1015. into the current document while maintaining all links between boxes.
  1016. For example, if you have a 4-page document with page 3 onscreen and then
  1017. insert a 2-page document, the page that w as originally page 3 will be
  1018. pushed forward to page 5 and any link between the pages originally
  1019. numbered 2 and 3 will still exist between page 2 and what is now page 5.
  1020.  
  1021. With a bit of trickery, this Genie can also be used to append a document
  1022. in memory with a document on disk. Create a new page from either template
  1023. or default - it really doesn't matter since we won't actually be using
  1024. this page. With the new page onscreen, invoke this Genie.
  1025.  
  1026. InsertPersonalInfo:
  1027. This Genie will paste your personal info into the text stream. When
  1028. invoked, the Genie will present you with the Select options requester.
  1029. You must click on the field names that you want to include and specify
  1030. whether the data is to be separated by Returns or by comas. In order
  1031. for this Genie to work, the data must have already been entered using
  1032. the EnterPersonalInfo Genie (see above).
  1033.  
  1034. MailMerge:
  1035. This genie will make multiple copies of the current document replacing
  1036. the document's variable fields with data from a file that you have
  1037. created.
  1038.  
  1039. The variable fields (or merge strings) are created in Professional Page
  1040. by surrounding a word in double guillemots. The guillemot characters are
  1041. the French quotation marks that look like this: << >>. Use Alt-9 to type
  1042. the opening guillemot character and Alt-0 to type the closing one.
  1043. Remember, there must be two opening characters and two closing ones.
  1044. If a data merge operation fails, a likely cause is the omission one of
  1045. these characters.
  1046.  
  1047. A group of merge strings in your Professional Page document might look
  1048. like this:
  1049.  
  1050.      <<<<Name>>>>, <<<<Address>>>>, <<<<City>>>>
  1051.  
  1052. Your data file must consist of the replacement data for each of the
  1053. variable fields and each data element must be tab-delimited Or in CSV
  1054. format (Comma Separated Vales). CSV format requires that a field be
  1055. enclosed in double-quotes (inchmarks) and that the fields of a record
  1056. be separated by comas. Also, the first line of the data file must be
  1057. the field names; i.e. the 'dummy' words that are in the Professional
  1058. Page document. Succeeding lines are indivldual records to be used in
  1059. each pass of the merge operation. You may create this list manually or
  1060. (more conveniently) use a database program 's query language to export
  1061. selected records to an ASCII text file. Remember that each field of the
  1062. record must be delimited by a tab or a comma. If the file is delimited
  1063. with tabs, the inchmarks are not required. A CSV data file intended
  1064. for use with the three merge strings in the above example might look
  1065. like this:
  1066.  
  1067.      "Name","Address","City"
  1068.      "Joe User", "123 My Street", "Usertown"
  1069.      .....<list continues>
  1070.  
  1071. If any of the inchmarks are missing in a CSV file, you will get
  1072. unexpected results. Another possible reason for a merge failure is
  1073. discrepancies between the field names as they appear in the document and
  1074. as they appear in the data file; eg., a typo such as "Name" and "Naem".
  1075. If the fields do not match, the Genie will not replace the document's
  1076. merge field with your data.
  1077.  
  1078. When the Genie is invoked, a file requester appears prompting you to
  1079. select the data file that is to be used for the merge operation. Select
  1080. your data file and click on OK. As the data file is read in, the title
  1081. bar will display a status message indicating the number of records read.
  1082. When all records have been read, the title bar will inform you that the
  1083. Genie is "Preparing document for mail merge.."
  1084.  
  1085. Preparing the document consists of searching through the text to find
  1086. all the merge fields. Once that is done, a copy of the merge page is
  1087. made and the fields are replaced by the data from the first record.
  1088. When the Genie reaches the end of the document, another merge page is
  1089. created and, again, the fields are replaced again with the data from
  1090. the next record. This process continues until all records in the data
  1091. file have been merged.
  1092.  
  1093. On each pass through the document, the Genie will report on the title bar
  1094. "Merging record xxx of yyy" where xxx is the current record number and
  1095. yyy is the total number of records to be merged. Note that the original
  1096. merge fields still exist in your document. This allows you to repeat the
  1097. process with another data file.
  1098.  
  1099. There are two special merge fields used in conjunction with this Genie.
  1100. The first is <<<<Next>>>>. This will cause the Genie to skip to the next
  1101. record in the merge data file. You will want to use this special merge
  1102. field if you intend to have multiple records within a single document;
  1103. on a sheet of laser labels, for example. To place multiple records on
  1104. a single page, you would place a <<<<Next>>>> after each group of field
  1105. names except the last, since reaching the end of the document cause the
  1106. Genie to skip to the next record automatically.
  1107.  
  1108. The other special merge field uses the equals sign followed by any valid
  1109. ARexx expression (««=<expression>»»). The expression will be evaluated by
  1110. ARexx and the merge field replaced by the expression 's results. This
  1111. special merge field is very powerful because you may also execute disk
  1112. resident macros; to query databases, for example. For an example of its
  1113. use, see ReplaceMergeCodes below. If any errors are encountered while
  1114. the expression is being evaluated, the error(s) will be reported and the
  1115. Genie terminated.
  1116.  
  1117. MokeBoxIntoColumns:
  1118. This Genie will create several columns in a box. First you must click on
  1119. the box that the Genie will use as a guide; once the columns have been
  1120. created, this box will be deleted. A dialog box will then appear
  1121. prompting y ou to enter the number of columns required and the gutter
  1122. size and whether or not you want vertical column dividers, box borders
  1123. and links between columns. Enter the appropriate responses and click on
  1124. OK. If the box that you selected contains text and you have chosen to
  1125. link the columns, the text will be removed from the original box and
  1126. flowed into the newly created columns.
  1127.  
  1128. MakeGuides:
  1129. This Genie will put boxes of a specified size on the page. These guide
  1130. boxes may used as sizing and positioning indicators. When the Genie is
  1131. invoked, the Enter Dimensions of Grid requester will appear, prompting
  1132. you to enter values for: number of columns of boxes, number of rows of
  1133. boxes and size of the gutter between boxes. Enter the desired values
  1134. and click On OK. The title bar will display "Working" while the boxes
  1135. are being created. All guide boxes are pushed to the back so as to not
  1136. interfere with page contents.
  1137.  
  1138. MovePage:
  1139. This genie will move a range of pages within a document. The Enter Range
  1140. requester prompts you for the swing page number of the range, the ending
  1141. page number of the range and the destination page number. Enter the
  1142. appropriate page numbers and click on OK. The indicated range of pages
  1143. will be moved such that its first page is at the specified destination
  1144. page number.
  1145.  
  1146. NoCaps:
  1147. This Genie will convert a selected block of text to lowercase. This Genie
  1148. works only in edit mode.
  1149.  
  1150. ProCalcTableImport:
  1151. This Genie will import a range of cells from Professional Calc.
  1152. Professional Calc must be running and the desired speadsheet must
  1153. be loaded.
  1154.  
  1155. First you are prompted to click on a box. This box will be used as a
  1156. guide for the size and position of the imported spreadsheet range. You
  1157. must ensure that the box selected is large enough to contain the range
  1158. neatly but not so large as to separate the values too widely. You are
  1159. then asked if you want to delete the box. Click on your choice. You are
  1160. then directed to select the desired range in Professional Calc. When that
  1161. is done, you may click the Resume button and the Genie will begin
  1162. collecting the data from the range of cells.
  1163.  
  1164. The Select Options requester appears. Three options are available: Create
  1165. Link, Make Grid Lines and Right Justify Numbers. Create Link is used to
  1166. create a small data file on disk that will be used in conjuction with the
  1167. ProCalc TableUpdate Genie (described below). Select an appropriate path
  1168. and filename in the file requester. If the contents of the spreadsheet
  1169. range are likely to change, you will want to select Create Link so that
  1170. your Professional Page document can be updated with the new values later.
  1171. On the other hand, if you know that your table data will not change, there
  1172. is no purpose in choosing Create Link.
  1173.  
  1174. Make Grid Lines and Right Justify Numbers are appearance factors. Each
  1175. cell of the spreadsheet range will be enclosed in its own box. If you
  1176. select Make Grid Lines, the boxes comprising the range will have visible
  1177. outlines. If you prefer to have the numbers on a blank field with a box
  1178. around the entire table, do not choose Make Grid Lines. Instead, click
  1179. on No when asked if you want to delete the original box and choose Box
  1180. Frame for that box. Finally, you will probably always want to select
  1181. Right Justify Numbers.
  1182.  
  1183. ProCalcTableUpdate:
  1184. This Genie updates a Professional Calc table that is already contained
  1185. in a Professional Page document. You must have chosen Create Link when
  1186. the table was first imported and Professional Calc must be running with
  1187. the spreadsheet loaded. When you invoke this Genie, a file requester will
  1188. appear and you select the link data file that corresponds to the table
  1189. you wish to update. The Genie will then check the spreadsheet for new
  1190. values in the range of cells that you selected when the table was first
  1191. imported. Any cells that have been altered will be extracted from the
  1192. spreadsheet and placed in their proper position in the Professional Page
  1193. document.
  1194.  
  1195. ReplaceMergeCodes:
  1196. This Genie will search a document for merge codes which begin with the
  1197. following sequence: <<<<=. Between the merge codes, the Genie expects to
  1198. find a valid ARexx command or macro which it will interpret. The merge
  1199. codes will be replaced with the result of the interpreted command. For
  1200. example, if a box contained the following text:
  1201.  
  1202. Today is ««=FormatDate.rexx ("%w, %m %tth, %y")»»
  1203.  
  1204. invoking this Genie would result in the following text being plaeed in
  1205. the box:
  1206.  
  1207. Today is Wednesday, January 26, 1992
  1208.  
  1209. Or whatever the system date happens to be. This Genie is very powerful
  1210. because you may also execute disk resident macros; to query databases,
  1211. for example.
  1212.  
  1213. SavePrefs:
  1214. This Genie will bring up a list box containing all the settings available
  1215. in Professional Page. Click on all the ones you would like to preserve
  1216. for future sessions. The Genie will save your current settings to a file
  1217. (s:ppage.config). Each time you run Professional Page, the configuration
  1218. file will be loaded and your specified settings will be restored. In
  1219. addition, this Genie will ask you if you want to run the AutoSave Genie
  1220. (see above) each time that Professional Page is run.
  1221.  
  1222. SetPageSize:
  1223. This Genie will set a custom page size on a range of pages. The Enter
  1224. Info requester appears, containing five string gadgets for: Page Width,
  1225. Page Height, Start Page, End Page and ODD/EVEN/ALL. Enter the
  1226. appropriate responses and click on OK. All indicated pages will be set
  1227. to the specified size.
  1228.  
  1229. SmallCaps:
  1230. This Genie will change the selected block to uppercase. Any letters in
  1231. the block that were already capitals when the block was selected with be
  1232. increased in point size by 25%.
  1233.  
  1234. StepAndRepeat:
  1235. This Genie will duplicate, move and rotate a box according to your
  1236. instructions. First you are prompted to click on the "seed" box. The Step
  1237. & Repeat requester then appears, prompting you for: Count, Horizontal
  1238. Offset, Vertical Offset and Angle. Count is the number of copies that will
  1239. be created The Horizontal and Vertical Offset values are added to the left
  1240. and top values of the previous box in the chain to set the position of the
  1241. next box. Similarly, for each new box, the ed Angle value is added to the
  1242. Rotation Angle of the previous box in the chain.
  1243.  
  1244. SubScript:
  1245. This Genie will subscript the selected block. You must be in edit mode for
  1246. this Genie to work. The subscripted characters will be reduced to a point
  1247. size that is equivalent to 75% of the current size. The baseline of the
  1248. selected block will be lowered by a value that is equivalent to 25% of
  1249. the current fontsize.
  1250.  
  1251. SubstituteFont:
  1252. This Genie will replace a typeface with a different one throughout your
  1253. entire document. A list box will appear, containing all the available
  1254. typefaces. Choose the typeface that you wish to change and click on OK.
  1255. The same list box will immediately appear again and you then choose the
  1256. typeface that you want substituted. Click on OK again and the title bar
  1257. will display "Working.." while the substitutions are being made.
  1258.  
  1259. SuperScript:
  1260. This Genie will superscript the selected block. You must be in edit mode.
  1261. The superscripted characters will be reduced to a point size that is
  1262. equivalent to 75% of the current size. The baseline of the selected block
  1263. will be raised by a value that is equivalent to 25 % of the current
  1264. fontsize.
  1265.  
  1266. Table Import:
  1267. This Genie works in much the same way as the Professional Calc Table
  1268. Import Genie described above. It will import a text file (in CSV format
  1269. or tabdelimited) from disk and create a table for it using an existing
  1270. box as a guide. You must first click on the guide box and inform the Genie
  1271. as to whether or not you wish to delete the guide box. You then select the
  1272. CSV text file to import from a file requester. Finally, you are given the
  1273. option of having grid lines created and of having numbers right justified.
  1274.  
  1275. UnGreekBoxes:
  1276. This Genie will ungreek boxes of a specified type (or types). A list box
  1277. will appear prompting you to choose which types of boxes to ungreek.
  1278. The choices are: Bitmap, EPSF, PDraw Clips, Structured Graphics and
  1279. Text. Choose whatever combination you wish and click on OK. If you loaded
  1280. a document and answered No to "Load bitmaps immediately", this Genie is
  1281. very convenient for redisplaying all the pictures in your document in a
  1282. single step.
  1283.  
  1284. UnitsConverter:
  1285. This Genie will convert values from one typesetting unit to another. The
  1286. equivalencies are based on 1 - inch - 72 points, 6 picas, 2.54cm, 66.9566
  1287. ciceros, or 14 agates. The Conversion fields.. requester appears. Enter a
  1288. value for any unit and click on OK. The requester will reappear containing
  1289. the converted values. You may then enter another value for conversion and
  1290. continue in this fashion until you click on Cancel or click on OK without
  1291. making any changes.
  1292.  
  1293. 8. PAGE GENIES
  1294.  
  1295. Page Genies provide you with a facility for automatically creating pages.
  1296. It's similar to having an unlimited number of interactive templates. To
  1297. create a page from a list of predefined Page Genies, select
  1298. Page/Create/from Genie. This will bring up the Select type of document
  1299. list box containing the available Page Genie types. The types included in
  1300. the Professional Page package are: Avery Labels, Business Report,
  1301. Envelope, Full Page Ads, Traditional NewsLetter and Two Fold Brochure.
  1302. Double-click on the desired type and a list of subtypes is presented.
  1303. Again, select the desired subtype and follow the presented instructions
  1304. for that particular Page Genie. We'll step through a few examples to give
  1305. you an idea of what to expect from each of the various types.
  1306.  
  1307. Avery Labels:
  1308. This Genie will come in very handy if you often find yourself generating
  1309. labels for mailing lists, file folders, audio cassettes, video cassettes,
  1310. floppy disks - most anything! This Genie creates pages to exactly match
  1311. labels produced by Avery, both those intended for dot-matrix printers
  1312. (tractor feed, fanfold) and those intended for laser printers (full page
  1313. sheets).
  1314.  
  1315. When you invoke this Genie, a list box appears containing the names of
  1316. the various label types: Dot Matrix Labels, European Laser Labels, French
  1317. Dot Matrix Labels and Laser Labels. Select one of these and click on OK.
  1318. "Reading label database.." will appear in the title bar. Once the database
  1319. has been read, it will be displayed to you in the Select Label list box.
  1320. Each entry consists of the Avery catalog number followed by a short
  1321. description of the type of label. Click on the type of label you're
  1322. using. If a box or group is currently selected, you will be asked if you
  1323. want it to be scaled to fit the dimensions of the label. Click on Yes Or
  1324. No's you wish, and the matching page will be created.
  1325.  
  1326. If you've chosen Dot Matrix Labels, each page corresponds to only one
  1327. label and you will be asked, "How many Dot Matrix Labels?" The number
  1328. you enter is the number of 'pages' (i.e. labels) that will be created.
  1329. This is convenient when you have a fixed, known number of labels to
  1330. generate. However, for a mailing list that is continually changing, it
  1331. will undoubtedly be more convenient to export the data as a CSV file and
  1332. use one dot matrix label in conjunction with the MailMerge Function Genie.
  1333.  
  1334. Business Report:
  1335. This Genie will create a business report consisting of three pages: a
  1336. cover page, a section title page and a body page. While the first page
  1337. is on the screen, you are prompted for a report name and date. Other
  1338. requesters will appear to get your input for typeface, type style, point
  1339. size, etc. Once these are completed you are asked if you want to insert
  1340. your personal info. Respond with Yes and a requester will appear
  1341. containing the field names of your personal info. Click on the fields you
  1342. want to include and click on OK. again, other requesters will appear to
  1343. get your input for typeface, type style, point size, etc.
  1344.  
  1345. On the second page of the report, y ou enter a section title into a
  1346. requester and select your choices for typeface, size, etc. You are
  1347. then asked to indicate the number of columns you want for body text.
  1348. Enter the desired number of columns and the width of the gutter.
  1349. Another list box will appear offering you three options with regard to
  1350. your columns: Borders, Link Columns and Vertical Dividers. Borders will
  1351. give the columns visible outlines and Vertical Dividers will place ruling
  1352. lines in the gutters between columns. Choose either or both of these if
  1353. you want to incorporate these appearance factors. You will probably always
  1354. want to select Link Columns to ensure that your text gets flowed into all
  1355. the columns required. The third page again requests column information,
  1356. allowing you to have a different number and/or style of column on the
  1357. pages of the report body.
  1358.  
  1359. Envelope:
  1360. When you invoke the Envelope Page Genie, the Enter size of Envelope list
  1361. box appears. Select 9 x 4 inches or Custom. Next, you will be asked if
  1362. you would like to have your company name and address inserted
  1363. automatically. This will only work if you have previously entered your
  1364. personal info via a Function Genie. The envelope page is then created.
  1365. If you have selected Custom, you will be prompted for the width and
  1366. height of your envelope. If you responded to the name and address question
  1367. by clicking on Yes, you are then prompted to click on the position on the
  1368. envelope where your name and address will be positioned. Finally, you are
  1369. directed to select a typeface and point size for your personal info.
  1370.  
  1371. Full Page Ads:
  1372. Invoking this Page Genie will bring up the Select type of Ad requester
  1373. which contains three choices: Double Column, Single Column2 and Single
  1374. Column3. For the purposes of our demonstration, select Double Column.
  1375.  
  1376. For this Genie, you will be asked for headline text (and the attributes
  1377. of that text), whether or not to import a text file and for the type of
  1378. graphic you want to use. A number of other requesters will appear to
  1379. receive your input for the various text attributes and to get a filename
  1380. for the graphic. Selecting Cancel in any of these requesters will leave
  1381. the indicated text attribute unchanged. Once you have responded to all
  1382. the prompts for each of these page elements, you will be asked if the
  1383. result is acceptable. If it is not, you can click on Try Again and
  1384. reset any of the attribute (or select a different file, as required).
  1385.  
  1386. Finally, you are asked if you want to include your personal info. If you
  1387. select Yes, you are presented with a requester containing the field names
  1388. of your personal info. Click on the fields that you want to include and
  1389. click on OK. Again, you will be prompted for the text attributes for your
  1390. personal info.
  1391.  
  1392. Traditional Newsletter:
  1393. This Genie begins by requesting your input for four text items: the
  1394. headline, a subheading, volume and issue number and the date. After
  1395. entering each item, you must select the text attributes for that text.
  1396. After the attributes have been applied to each item, you are asked to
  1397. confirm that the result is acceptable.
  1398.  
  1399. When the initial four text items are completed, you are asked, "How many
  1400. columns will you need?". Enter the desired number of columns and a value
  1401. for the gutter space between the columns. The Select Column Options
  1402. requester will appear, offering three choices: Borders, Link Columns and
  1403. Vertical Dividers. For our demonstration, select all three and click on OK.
  1404.  
  1405. Next, a second page will appear and you will be asked for the number of
  1406. columns and the gutter size for inside pages. Enter your desired values,
  1407. click OK and select the column options for the inside pages. You are then
  1408. returned to the front page, asked if you want to import a text file and
  1409. directed to provide input for the body text attributes.
  1410.  
  1411. Two Fold Brochure:
  1412. This Genie will create both sides of a two-fold brochure on a standard
  1413. size page. First you are prompted for the text and attributes of the
  1414. headline box. When done, you are asked, "Is this OK?". Clicking on Try
  1415. Again will permit you to make adjustments to the headline as shown. When
  1416. you click on Yes, you are then prompted for the text and attributes for
  1417. the subheading box. The last stage of this Genie's creation process is
  1418. to ask if you want to import a file and to give the attributes of the
  1419. body text.
  1420.  
  1421. 9. AREXX SUPPORT AND COMMANDS
  1422.  
  1423. Professional Page's ARexx interface recognizes approximately 330
  1424. commands. Virtually every aspect of Professional Page operations may now
  1425. be driven by an ARexx script. If you have not been using ARexx previously,
  1426. we strongly recommend that you obtain and install it on your system since
  1427. many programs, not just Professional Page, can take advantage of its
  1428. presence to offer you additional capabilities. For example, we saw in
  1429. Section 7 how Professional Calc can work in tandem with Professional
  1430. Page by means of Function Genies.
  1431. Depending on your circumstances, you may wish to use Professional Page
  1432. in conjunction with other ARexx-aware applications, such as an
  1433. image-processing program or a terminal program.
  1434.  
  1435. Once you have obtained and installed ARexx, it is also a good idea to
  1436. insert the line
  1437.  
  1438.    RexxMast
  1439.  
  1440. somewhere into your startup-sequence so that ARexx will always be
  1441. available.
  1442.  
  1443. If you're new to ARexx programming (or even if you're not), we highly
  1444. recommend that you obtain a copy of the book Using ARexx on the Amiga by
  1445. Chris Zamara and Nick Sulliv an. The book contains both tutorial and
  1446. reference material and includes a companion disk. Using ARexx on the Amiga
  1447. is published by Abacus.
  1448.  
  1449. Technical Information:
  1450. The Professional Page ARexx host is implemented as an ARexx function host
  1451. (rather that the more usual command host). This is because many of the
  1452. ARexx commands in Professional Page return a result, and results can be
  1453. handled much more tidily when they appear as a function return than when
  1454. they must be accessed through the RESULT keyword.
  1455.  
  1456. One important characteristic of a function host is that it is global;
  1457. every function call in every ARexx macro is passed through a multi-stage
  1458. search procedure that begins with internal functions (those in the macro
  1459. source itself), continues with the built-in ARexx function library (the
  1460. functions listed in the ARexx manual), turns next to function hosts (such
  1461. as Professional Page) and function libraries, and finally to external
  1462. programs on disk. Consequently, it is not necessary to address
  1463. Professional Page's specific ARexx port ("PPAGEAREXX").
  1464.  
  1465. All resident Professional Page ARexx functions may be called from within
  1466. Professional Page Function Genies by their listed names. If you are
  1467. calling them from an external ARexx program then you must prefix the names
  1468. with "PPM_" in order for the calls to work. Because function calls are
  1469. global rather than being addressed to a particular host, there is a danger
  1470. of inadvertent name collision. The prefix ensures that your function will
  1471. be received by Professional Page and not by some other program that has a
  1472. function with the same name.
  1473.  
  1474. Parameter & Return Information:
  1475.  
  1476. The format of the commands is:
  1477.  
  1478. * result = Function (arg1, [arg2...])
  1479.  
  1480. When an argument is optional, it is enclosed in square brackets in the
  1481. definition. If optional arguments are omitted, you must still include the
  1482. commas. An asterisk at the beginning of the line signifies that the
  1483. function is allowed in Text Edit mode. If a function returns more than one
  1484. item of data, those items are returned in a string with spaces separating
  1485. each item. Argument and return types are discussed below for each
  1486. function. All numerical parameters are in the current user units
  1487. (inches, for example), unless otherwise noted.
  1488.  
  1489. Notes:
  1490.  
  1491.      . All Getxxx functions return data in the same form as the
  1492.        corresponding Setxxx function.
  1493.  
  1494.      . Numerical parameters are in current user units (eg. inches) unless
  1495.        otherwise noted.
  1496.  
  1497.      . Functions that do not return a value must be called in ARexx; eg.,
  1498.        call autoUpdate(0).
  1499.  
  1500.      . Arguments consisting of text should be enclosed in double quotes;
  1501.        eg., num = BoxNum("First Box").
  1502.  
  1503. Page and Box Identifiers:
  1504. In Professional Page v3.0, pages and boxes have unique identifiers to allow
  1505. macro access. Such an identifier may be either a user-specified name or a
  1506. number. If an identifier is optional and absent, the current page (or
  1507. currently active box) is assumed.
  1508.  
  1509. In the case of pages, an identifier that is a number may refer to either
  1510. a sequential or logical page. It can be important to recognize the
  1511. distinction between the two. A sequential page number represents the
  1512. position of a given page within a Professional Page document file. A
  1513. logical page number represents the position of a given page in a document
  1514. file once the page number Offset has been figured in; in other words, the
  1515. page's number in the printed document. In many cases, the sequential and
  1516. logical page numbers will be the same. An example will make this clear.
  1517.  
  1518. Suppose that you have an eight-page document contained in two files,
  1519. MyDoc1.pp and MyDoc2.pp. There are four pages in MyDoc1.pp and, when
  1520. printed, the page numbers will be 1 through 4. In this case, the
  1521. sequential and logical page numbers are identical. However, in MyDoc2.pp
  1522. there are four pages to which a page number offset has been applied. When
  1523. printed, these pages will be numbered 5 through 8. Therefore, in
  1524. MyDoc2.pp, the first page in the data file has a sequential page number
  1525. of 1 but a logical page number of 5.
  1526.  
  1527. If the page identifier's number is of the form #xxx, logical page numbers
  1528. are used; otherwise, sequential page numbers are used. When a page number
  1529. is returned by a function, that number is the sequential page number
  1530. unless otherwise noted.
  1531.  
  1532. In the case of boxes, Professional Page generates a unique box ID for
  1533. each box in the document. Consequently, user-specified box names cannot
  1534. be integers, since the internal box ID's are integers. The internal box ID
  1535. is the specifier that is returned when a box ID is requested.
  1536.  
  1537. Note: In the material that follows, <CR> represents a Return character or
  1538. new line. This is specified in ARexx by '0a'x.
  1539.  
  1540. General Functions:
  1541.  
  1542. AbortPrint()
  1543. This command has the same effect as the STOP! gadget in the print status
  1544. window, for both dot-matrix and PostScript printing.
  1545.  
  1546. AutoUpdate(bool)
  1547. Clears or sets (0 or 1) auto-update mode. When auto-update mode is set,
  1548. after each ARexx function, the screen is updated (if there are no pending
  1549. messages). Most of the time you will want to turn auto-update mode off.
  1550. When the parameter is (0), the screen is not updated until the Genie is
  1551. finished or an UpdateScreen command is issued.
  1552.  
  1553. * datewhen = CreationDate()
  1554. Returns the date on which the file was created.
  1555.  
  1556. * datenow = CurrentDate()
  1557. Returns the current date.
  1558.  
  1559. change = DocChanged()
  1560. Returns a 1 if the document has changed since the last save, 0 if not.
  1561.  
  1562. * whodoc = GetAuthor()
  1563. Returns the author's name as entered in the Information box.
  1564.  
  1565. * call SetAuthor(name)
  1566. Replaces the author's name in the Information box with name.
  1567.  
  1568. * title = GetDocName()
  1569. Returns the document name as contained in the Information box.
  1570.  
  1571. * call SetDocName(newname)
  1572. Sets the document's name to newname.
  1573.  
  1574. * ptlist = GetParaTagList()
  1575. This function returns the list of Paragraph Tags used in the current
  1576. document in the following format: (N)<CR>tagname1<CR>tagname2<CR>...
  1577. where N is the number of tags in the list.
  1578.  
  1579. * fonts = GetPSFontsUsed([page])
  1580. This function returns: (N)<CR>font1<CR>font2<CR>... where N is the number
  1581. of fonts used. The actual PostScript font names are used. If the optional
  1582. page identifier is included, the list will include only the fonts used on
  1583. the specified page; otherwise, the entire document is searched.
  1584.  
  1585. * numsaves = GetRevision()
  1586. Returns document revision number as confined in the information box.
  1587.  
  1588. * call SetRevision(integer)
  1589. Sets the revision number in the Information box to integer.
  1590.  
  1591. * state, requester = GetState()
  1592. Use this command to determine the current state of Professional Page. A
  1593. value between 0 and 17 will be returned depending on which aspect of the
  1594. program is active. The state values are as follows:
  1595.  
  1596.      NULL            = 0         Bezier Draw       =  9
  1597.      CreateBox       = 1         Freehand Draw     = 10
  1598.      Group Select    = 2         Polygon Draw      = 11
  1599.      Text Editing    = 3         Facing Pages      = 12
  1600.      Link Box        = 4         Thumbnail Pages   = 13
  1601.      Unlink Box      = 5         Moving Box        = 14
  1602.      Line Draw       = 6         Cropping Box      = 15
  1603.      Rectangle Draw  = 7         Scrolling Screen  = 16
  1604.      Circle Draw     = 8         Printing          = 17
  1605.  
  1606. If a requester is active, the requester type is indicated by one of the
  1607. following values:
  1608.  
  1609.      None                        =  0
  1610.      File selector               =  1
  1611.      Verify or Error             =  2
  1612.      ColorList1                  =  3
  1613.      ColorList2                  =  4
  1614.      Typeface List               =  5
  1615.      BitMap List                 =  6
  1616.      Unused                      =  7
  1617.      Style Tag List              =  8
  1618.      Paragraph Tag List          =  9
  1619.      Pantone Color List          = 10
  1620.      Text Filter List            = 11
  1621.      PostScript Font List        = 12
  1622.      EPSF File List              = 13
  1623.      Function Genie List         = 14
  1624.      List created by ARexx       = 15
  1625.      Enter Tracking              = 16
  1626.      Enter Baseline              = 17
  1627.      Enter Genie Name            = 18
  1628.      Enter Line Weight           = 19
  1629.      ARexx Get Text from user    = 20
  1630.      ARexx Enter box text        = 21
  1631.      UCR/GCR                     = 22
  1632.      Text Greeking               = 23
  1633.      ARexx Get user data         = 24
  1634.      Create Page from Default    = 25
  1635.      Alter Current Page          = 26
  1636.      Alter Even Template         = 27
  1637.      Alter Odd Template          = 28
  1638.      Alter Default Page          = 29
  1639.      Enter New Point Size        = 30
  1640.      Box Attributes              = 31
  1641.      Print to Dot Matrix         = 32
  1642.      Print to postScript         = 33
  1643.      Print Thumbnail             = 34
  1644.      Document information        = 35
  1645.      Hyphenation Parameters      = 36
  1646.      Find                        = 37
  1647.      Find/Replace                = 38
  1648.      Date/Page Formats           = 39
  1649.      Line Spacing                = 40
  1650.      PostScript Page Specs       = 41
  1651.      Color Palette               = 42
  1652.      Modify/Define Paragraph Tag = 43
  1653.      Modify/Define Style Tag     = 44
  1654.      Create Page from Template   = 45
  1655.      Layout Tools                = 46
  1656.  
  1657. * stylist = GetStyleTagList()
  1658.  
  1659. This function returns the Style Tag list in the following format:
  1660. (N)<CR>tagname1<CR>tagname2<CR>... where N is the number of tags in the
  1661. list.
  1662.  
  1663. * facelist = GetTypeFaceList()
  1664. This function returns the list of typefaces contained in the document
  1665. according to the following format: (N)<CR>face1<CR>face2<CR>... where N
  1666. is the number of typefaces in the list.
  1667.  
  1668. collist = GetColorList()
  1669. This function returns the list of colors used in the document according
  1670. to the following format: (N)<CR>color1<CR>color2<CR>... where N is the
  1671. number of colors in the list.
  1672.  
  1673. call New()
  1674. Behaves exactly as does selecting the menu item Project/New.
  1675.  
  1676. * totalboxes = NumBoxes([pgnm])
  1677. Returns the number of boxes in the document or, if the optional page
  1678. identifier is supplied, the number of boxes on that page.
  1679.  
  1680. * totalpages = NumPages()
  1681. Returns the number of pages in the document.
  1682.  
  1683. * call Pause(secs)
  1684. Pauses for the number of seconds indicated by secs.
  1685.  
  1686. call PPageToBack()
  1687. This command sends the Professional Page screen to the back.
  1688.  
  1689. call PPageToFront()
  1690. This command will bring the Professional Page screen to the front.
  1691.  
  1692. call PPQuit()
  1693. Exits Professional Page (same as selecting the Project/Quit menu item).
  1694.  
  1695. * lastsave = SavedDate()
  1696. Returns the date of the last Save operation for this document.
  1697.  
  1698. call SetBatchMode(bool)
  1699. When this mode is set on (1), all requesters will be automatically
  1700. responded to with OK or Resume. When set off (0), all requesters will
  1701. appear in the normal fashion.
  1702.  
  1703. newlist = SortList(list, [dir], [case])
  1704. Sorts the specified list. The dir argument is 0 for descending and 1 for
  1705. ascending. The case argument is 0 for case insensitive, 1 for case
  1706. sensitive. List and Newlist both use the format: Item1<CR>Item2<CR>...
  1707.  
  1708. call UpdateScreen()
  1709. Redraws the screen.
  1710.  
  1711. * call Version()
  1712. Returns copyright notice along with the Professional Page version number.
  1713.  
  1714. User Interactive Functions:
  1715.  
  1716. * filespec = GetFileName(prompt, path, [filename])
  1717. This function brings up a file requester and returns the file specifier.
  1718. If the user cancels the requester, an empty string is returned.
  1719.  
  1720. * manylines = GetForm (title, strlen, form)
  1721. This function will return a formatted string containing multiple lines of
  1722. user input. The title string will appear in the requester's drag bar. The
  1723. length of the requester's string gadgets are specified by strlen. The
  1724. formatted string is defined by form. If you wish, you may also use form
  1725. to fill the string gadgets with suggested or recommended data; eg.,
  1726. Prompt1:suggest1<CR>Prompt2:suggest2<CR>...
  1727.  
  1728. An example of the use of GetForm, taken from the StepAndRepeat Genie, is
  1729. shown below:
  1730.  
  1731. cr = '0a'x
  1732. form = "count"cr"horizontal offset"cr"vertical offset"cr"angle"
  1733. form = ppm_GetForm("Step and Repeat",8,form)
  1734. if form = '' then exit_msg("Operation cancelled")
  1735. parse var form count '0a'x horizontal '0a'x vertical
  1736. '0a'x angle
  1737.  
  1738. * userinput = GetUserText(integer,prompt)
  1739. Gets a single line of input from the user using prompt as a directive to
  1740. the user and using a buffer size of integer.
  1741.  
  1742. * choiceint = Inform(numbuttons, text, [button1txt],
  1743. [button2txt], [button3txt])
  1744. this function allows you to inform the user of text, to offer the user up
  1745. to three choices and to have the user's response returned. The numbuttons
  1746. parameter is one of 1/2/3. If no button text is specifed, a value of 1
  1747. will use resume for the button text and a value of 2 will use Yes and No.
  1748. Note that the first button is positioned in the lower right of the dialog
  1749. box, the second to the left of the first and the third to the left of the
  1750. second. The function returns -1 if there is an error, 0 if the first
  1751. (rightmost) button is clicked, 1 if the second, and 2 if the third.
  1752.  
  1753. * call ShowStatus(text)
  1754. Displays text on the Professional Page title bar. This function can be
  1755. used to prompt the user for mouse clicks, etc.
  1756.  
  1757. * call ClearStatus()
  1758. Restores the title bar to the normal Professional Page title.
  1759.  
  1760. whichbox = ClickOnBox(prompt)
  1761. Displays prompt and waits for the user to click the left mouse button and
  1762. returns the boxID of the user-selected box. This allows Genies to operate
  1763. on user-selected boxes without having to know the boxname or boxID. The
  1764. function will return 0 if the user clicks on a location that is not
  1765. contained within a box. A number of the Function Genies use this technique
  1766. to terminate multiple box selection.
  1767.  
  1768. * call SaveText(file, text)
  1769. Creates a file and saves text into it.
  1770.  
  1771. * call SaveMoreText(file, text)
  1772. Appends the given text to an existingfile.
  1773.  
  1774. clickspot = GetClickPosition(prompt)
  1775. Displays prompt to the user and returns the X-Y position of the location
  1776. on page where the user clicked.
  1777.  
  1778. * chosen = SelectFromList(title, width, height (in
  1779. lines), mode (0 or 1), list)
  1780. A method of offering the user a list of multiple choices and receiving the
  1781. response. Width is the width of the list in characters, height is the
  1782. height in lines. When mode is 0, only a single choice is returned; i.e.
  1783. items are mutually exclusive. When mode is 1, the user can make multiple
  1784. choices and items toggle on and off when selected. Both list and chosen
  1785. are lists in the form of: Item1<CR>Item2<CR>... The first element in list
  1786. will be pre-selected and the list will be sorted.
  1787.  
  1788.  
  1789. Page Operations:
  1790.  
  1791. * cpage = CurrentPage()
  1792. Returns the page number of the current page.
  1793.  
  1794. * logpage = LogicalPage([page])
  1795. Returns the logical page number of the specified sequential page (if
  1796. supplied); otherwise returns logical page number of the current page.
  1797.  
  1798. * fpage = DocFirstPage()
  1799. This function returns 0 if the document contains no pages; otherwise,
  1800. returns 1.
  1801.  
  1802. * npage = DocNextPage([page])
  1803. Returns the page number of the document page following the indicated one
  1804. or, if page is not supplied, the page after the current page.
  1805.  
  1806. * lpage = DocLastPage()
  1807. Returns the page number of the last page of the document.
  1808.  
  1809. newpage = GotoPage([page])
  1810. Sets the current page to page.
  1811.  
  1812. page = PageUp()
  1813. Displays the next page of the document (like using the Page Up gadget).
  1814.  
  1815. page = PageDown()
  1816. Displays the previous page of the document (like using the Page Down
  1817. gadget).
  1818.  
  1819. page = CreatePage(fromnumber, tonumber, from, [autolink], [lock])
  1820. Creates pages which are inserted atfromnumber up to tonumber. Returns
  1821. the page number of the first page created. The from parameter can be one
  1822. of four choices (0/1/2/3): default page, page number template, even
  1823. template or odd template. The optional autolink and lockparameters can
  1824. be 0 or 1 and correspond to the buttons in the Create Page requester.
  1825.  
  1826. numgone = DeletePage([startpage], [numdel])
  1827. Deletes numdel pages starting from startpage. Returns the number of
  1828. pages deleted. With no parameters, deletes current page only.
  1829.  
  1830. numcopies = CopyPage(pgnm, pgnm2, [num])
  1831. Insert num copies of pgnm before pgnm2. Returns number of pages created.
  1832.  
  1833. bool = MakeTemplate(pagenum, whichtemp)
  1834. Copies pagenum to whichtemp; even if 0, odd if 1.
  1835.  
  1836. newpage = MovePage(pgnm, pgnm2)
  1837. Moves pgnm to the position before pgnm2 and returns the resulting page
  1838. number.
  1839.  
  1840. Page Parameters:
  1841.  
  1842. These functions set and get page parameters which are normally accessed
  1843. through the Page/Create requesters.
  1844.  
  1845. col&gutter = GetPageColumns([pgnm])
  1846. Returns the number of columns and the gutter size on the specified page
  1847. or on the current page.
  1848.  
  1849. call SetPageColumns(pgnm, numcols, gutter)
  1850. Sets the number of columns and gutter size for the indicated page.
  1851.  
  1852. pmargs = GetPageMargins([pgnm])
  1853. Returns the margins of the specified page or the current page as "left
  1854. top right bottom".
  1855.  
  1856. call SetPageMargins(pgnm, left, top, right, bottom)
  1857. Sets the margins for the specified page.
  1858.  
  1859. pname = GetPageName([pgnm])
  1860. Returns the name of the specified page or the current page.
  1861.  
  1862. call SetPageName(pgnm, name)
  1863. Assigns a name to a specific page.
  1864.  
  1865. poffset = GetPageOffset([pgnm])
  1866. Returns the page number offset of the specified page or the current page.
  1867.  
  1868. call SetPageOffset(pgnm, offset)
  1869. Sets the page number offset for the specified page. Offset is one of:
  1870. +n/-n/n. The page number offset is the data item contained in the Offset
  1871. string gadget of the Current Page Format requester that appears when you
  1872. select Page/Alter/Current from the menus. For more information, see the
  1873. Professional Page User's Guide (pg. 173).
  1874.  
  1875. call SetPagePosition(x, y)
  1876. Places position x,y of the page to the upper left of the screen, if
  1877. possible.
  1878.  
  1879. psize = GetPageSize([pgnm])
  1880. Returns the size of the specified page or the current page.
  1881.  
  1882. call SetPageSize(pgnm, Xsize, Ysize)
  1883. Sets the dimensions of the indicated page.
  1884.  
  1885. ptype = GetPageType([pgnm])
  1886. Returns the type of the specified page or the current page. Ptype is one
  1887. of 0/1/2/3/4/5/6, corresponding to Custom, STD, LEGAL, A3, A4, A5 and A6.
  1888.  
  1889. call SetPageType(pgnm, ptype)
  1890. Sets the type of the specified page. Ptype is as described above.
  1891.  
  1892. Page PostScript Output Specs:
  1893.  
  1894. These functions set and get page parameters which are accessed through the
  1895. Output Page Specfications requester which appears when you click the
  1896. Postscript Output Specs button in the New Page Format requester.
  1897.  
  1898. pspsize = GetPSPageSize()
  1899. Returns the output page size.
  1900.  
  1901. call SetPSPageSize(Xsize, Ysize)
  1902. Sets the PostScript page dimensions (output page size).
  1903.  
  1904. angle = GetPSOutputAngle([pgnm])
  1905. Returns the output angle of the specified page or the current page.
  1906.  
  1907. call SetPSOutputAngle(pgnm, angle)
  1908. Sets the output angle of the specified page.
  1909.  
  1910. cropdata = GetPSOutputCrop([pgnm])
  1911. For the current or specified page, returns the status of crop marks
  1912. (off or on), their length, open space and bleed.
  1913.  
  1914. call SetPSOutputCrop(pgnm, status (0 or 1), len, open, bleed)
  1915. For the specified page, sets whether crop marks are off or on (status),
  1916. the crop mark lengths, open space and bleed.
  1917.  
  1918. ejectstat = GetPSOutputEject([pgnm])
  1919. Returns the eject status (0 or 1) of the current page or the specified
  1920. page.
  1921.  
  1922. call SetPSOutputEject(pgnm, eject)
  1923. For the specified page, sets whether eject is off (0) or on (1).
  1924.  
  1925. orient = GetPSOutputOrient([pgnm])
  1926. Returns the orientation (0/1/2/3 corresponding to none, portrait,
  1927. landscape or center) for the specified page or the current page.
  1928.  
  1929. call SetPSOutputOrient(pgnm, orient)
  1930. Sets the orientation (see above) for the specified page.
  1931.  
  1932. pospage = GetPSOutputPosn([pgnm])
  1933. Returns the offset ofPS output for the specified page or the currentpage.
  1934.  
  1935. call SetPSOutputPosn(pgnm, Xpos, Ypos)
  1936. Sets the offset of PostScript oUtpUt for the specified page.
  1937.  
  1938. psscale = GetPSOutputScale([pgnm])
  1939. Returns the output scale of the specified page or the current page.
  1940.  
  1941. call SetPSOutputScale (pgnm, Xsize, Ysize)
  1942. Sets the output scale of the specified page.
  1943.  
  1944. Box Operations:
  1945.  
  1946. These functions set and get box parameters which are generally accessed
  1947. through the Active Box requester which appears when you select Alter/Active
  1948. from the Box menu.
  1949.  
  1950. * boxid = ArtFirstBox([bxnm])
  1951. Activates and returns the boxID of the first box in the article containing
  1952. bxnm.
  1953.  
  1954. * boxid = ArtLastBox([bxnm])
  1955. Activates and returns the boxID of the last box in the article containing
  1956. bxnm.
  1957.  
  1958. * boxid = ArtNextBox([bxnm])
  1959. Activates and returns the boxID of the next box in the article containing
  1960. bxnm. This allows traversal of an article's chain of boxes.
  1961.  
  1962. * boxid = DocFirstBox()
  1963. Activates and returns the boxID of the first box in the document. If
  1964. there are no boxes on any of the document pages, the artboard page is
  1965. checked next. A 0 is returned if there are no boxes anywhere.
  1966.  
  1967. * boxid = DocNextBox([bxnm])
  1968. Returns the boxID of the next box in the document. This is similar to
  1969. PageNextBox, except that this function will jump to the next page if there
  1970. are no more boxes on the page containing bxnm.
  1971.  
  1972. * boxid = PageFirstBox([page])
  1973. Activates the first box on page (or on the current page) and retums that
  1974. boxID.
  1975.  
  1976. * boxid = PageNextBox([bxnm])
  1977. Activ ates the box after bxnm on the same page and returns that boxID.
  1978. If there are no more boxes on the page, the function will return 0.
  1979.  
  1980. boxnum = BoxAtPosn(Xpos, Ypos, [pgnm])
  1981. Selects the box at position Xpos-Ypos and returns the box number or 0
  1982. if x is at that position. This can be used to select a box without a name,
  1983. or the same box on each page. If two or more boxes overlap at Xpos,Ypos,
  1984. the number of the uppermost box is returned.
  1985.  
  1986. call BoxChangePage(bxnm, pgnm)
  1987. Moves bxnm to the specified page at the same position that it had on its
  1988. original page.
  1989.  
  1990. * thisbox = BoxNum([bxnm])
  1991. Returns the boxID for the specified box bxnm or for the active box if
  1992. bxnm is omitted.
  1993.  
  1994. * bool = BoxOverlaps(bxnm, Xpos, Ypos)
  1995. Returns 1 if the specified box contains the point Xpos,Ypos; otherwise,
  1996. returns 0.
  1997.  
  1998. * seqpgnum = BoxPage(bxnm)
  1999. Returns sequential page number of the page containing the specified box.
  2000.  
  2001. call BoxtoBack([bxnm])
  2002. Pushes the specified (or current) box to the back.
  2003.  
  2004. call BoxtoFront([bxnm])
  2005. Brings the specified (or current) box to the front.
  2006.  
  2007. boxid = CloneBox(bxnm, deltaX, deltaY)
  2008. Clones a new box that is offset from the original box (bxnm) by the
  2009. amounts indicated by deltaX and deltaY the boxID of the newly-cloned box
  2010. is returned.
  2011.  
  2012. boxid = CreateBox(left, top, width, height, angle, [boxname])
  2013. Creates a new box with the supplied position, size and angle
  2014. specifications and returns the boxID of that box. You may optionally
  2015. assign boxname to this new box.
  2016.  
  2017. bool = DeleteBox([bxnm])
  2018. Deletes the specified bxnm (or the current box).
  2019.  
  2020. bool = DeleteContents([bxnm])
  2021. Deletes the contents of bxnm. If bxnm is part of an article chain, the
  2022. entire article is deleted.
  2023.  
  2024. boxid = DrawBez(x0, y0, x1, y1, x2, y2, [boxname])
  2025. The start point, midpoint and end point respectively of the curve are
  2026. specified by the numbered parameters. Optionally, you may supply a
  2027. boxname for the resultant box. Returns the boxID of the new box.
  2028.  
  2029. boxid = DrawEllipse(xc, yc, rx, ry, rot, [boxname])
  2030. The ellipse center is specified by xc and yc, the radius by rx and ry.
  2031. These correspond to the values displayed in the title bar while drawing
  2032. an ellipse manually. Optionally, you may supply a boxname for the
  2033. resultant box. Returns the boxID of the new box.
  2034.  
  2035. boxid = DrawLine(x0, y0, x1, y1, [boxname])
  2036. The starting point of the line is defined by x0 and y0; the ending point
  2037. by x1 and y1. Optionally, you may supply a boxname for the resultant box.
  2038. Returns the boxID of the new box.
  2039.  
  2040. boxid = DrawPoly(file, [boxname])
  2041. The specified file contains a data array consisting of X-Y pairs defining
  2042. each point of the polygon. Each vertex must be on a separate line and X
  2043. and Y must be separated by a space. Optionally, you may supply a boxname
  2044. for the resultant box. Returns the boxID of the new box.
  2045.  
  2046. boxid = DrawRect(X0, Y0, X1, Y1, [boxname])
  2047. The initial drawing point is indicated by X0 and Y0 and X1 and Y1 are the
  2048. coordinates of the diagonally opposite corner. Optionally, you may supply
  2049. a boxname for the resultant box. Returns the boxID of the new box.
  2050.  
  2051. tilt = GetBoxAngle([bxnm])
  2052. Returns the rotation angle of the specified (or current) box.
  2053.  
  2054. call SetBoxAngle(bxnm, angle)
  2055. Sets the indicated box to the specified angle. The angle is applied by
  2056. rotating around the box's center This will change the values ofbox left
  2057. and top.
  2058.  
  2059. status = GetBoxFrame([bxnm])
  2060. Returns the frame status (off or on) of the specified (or current) box.
  2061.  
  2062. call SetBoxFrame(bxnm, setting)
  2063. Sets the frame of the specified box off/on (0/1).
  2064.  
  2065. framdat = GetBoxFrameData([bxnm])
  2066. Returns the frame attributes for the specified box. The attributes
  2067. returned are in the format: linecolor fillcolor lineweight linepattern
  2068. fillpattern.
  2069.  
  2070. call SetBoxFrameData(bxnm, linecolor, fillcolor, linewt, linepat, fillpat)
  2071. Sets the frame attributes for the specified box. Linecolor and fillcolor
  2072. are color names and must be in the current color list. Linewt is in
  2073. points. Linepat and fillpat are pattern numbers corresponding to the
  2074. positions of the patterns in the Draw menu.
  2075.  
  2076. status = GetBoxHide([bxnm])
  2077. Returns the Quick Display status of the specified (or current) box.
  2078.  
  2079. call SetBoxHide(bxnm, setting)
  2080. Clears/sets (0/1) Quick Display mode for the specified box.
  2081.  
  2082. info = GetBoxInfo([bxnm])
  2083.  
  2084. This function returns information about box contents. For a BitMap box,
  2085. the width, height, depth and filename are returned. For an EPSF box, the
  2086. file size and filename are returned. For a box containing a clip or
  2087. structured graphic, the number of objects,and memory usage are returned.
  2088. For textboxes, the article's box number, total number of article boxes,
  2089. buffer size and number of bytes of text actually contained within the
  2090. box are returned.
  2091.  
  2092. status = GetBoxLock([bxnm])
  2093. Returns the lock status of the specified (or current) box.
  2094.  
  2095. call SetBoxLock(bxnm, setting)
  2096. Sets the indicated box to unlocked/locked (0/1).
  2097.  
  2098. margins = GetBoxMargins([bxnm])
  2099. Returns the values for the left, top, right and bottom margins of the
  2100. specified (or current) box.
  2101.  
  2102. call SetBoxMargins(bxnm, left, top, right, bottom)
  2103. Sets the margins of the specified box to the supplied values.
  2104.  
  2105. * bname = GetBoxName([boxID])
  2106. Returns the boxname (if any) for the specified box or for the active box
  2107. if boxID is omitted. If no boxname is assigned to the box, an empty
  2108. string is returned.
  2109.  
  2110. * call SetBoxName(bxnm, name)
  2111. Sets the boxname for the box specified by bxnm.
  2112.  
  2113. offby = GetBoxOffset([bxnm])
  2114. Returns graphic offset value for the specified (or current) box.
  2115.  
  2116. call SetBoxOffset(bxnm, Xoffset, Yoffset)
  2117. Sets the graphic offset for the indicated box to Xoffset and Yoffset.
  2118.  
  2119. where = GetBoxPosition([bxnm])
  2120. Returns the values for the left, top of the specified (or current) box.
  2121.  
  2122. call SetBoxPosition(bxnm, left, top)
  2123. Sets the position of the box on the page to the position indicated by left
  2124. and top.
  2125.  
  2126. scaledto = GetBoxScale([bxnm])
  2127. Returns the X and Y graphic scale values for the specified (or current)
  2128. box.
  2129.  
  2130. call SetBoxScale(bxnm, Xscale, Y scale)
  2131. Sets the graphic scale factors for the indicated box to Xscale and Yscale.
  2132.  
  2133. howbig = GetBoxSize([bxnm])
  2134. Returns values for the width and height of the specified (or current) box.
  2135.  
  2136. call SetBoxSize (bxnm, width, height)
  2137. Sets the size of the specified box to the specified width and height.
  2138. No scaling factor is applied to any graphic contents.
  2139.  
  2140. standoff = GetBoxStandoff([bxnm])
  2141. Returns the text runaround standoff value of the specified (or current)
  2142. box.
  2143.  
  2144. call SetBoxStandoff(bxnm, standoff)
  2145. Sets the text runaround standoff value for the indicated box.
  2146.  
  2147. tabstring = GetBoxTabs([bxnm])
  2148. Returns the tabs that have been set for bxnm. Tabstring consists of
  2149. space-delimited values.
  2150.  
  2151. call SetBoxTabs (bxnm, tabstring)
  2152. This function will set the tab in bxnm to match tabstring, which must be
  2153. space-delimited; eg., tab1 tab2 tab3...
  2154.  
  2155. options = GetBoxTextWrap([bxnm])
  2156. Returns text wrap options (see below) of the specified (or current) box.
  2157.  
  2158. call SetBoxTextWrap(bxnm, type, side)
  2159. Sets the text wrap options for bxnm. Type is one of 0/1/2, corresponding
  2160. to none, rectangular and irregular. Side is one of 0/1/2/3, corresponding
  2161. to widest, left, right and exclude.
  2162.  
  2163. status = GetBoxTransparent([bxnm])
  2164. Returns the transparency of the specified (or current) box.
  2165.  
  2166. call SetBoxTransparent(bxnm, setting)
  2167. Clears/sets (0/1) the transparency of the specified box.
  2168.  
  2169. udata = GetBoxUserData(bxnm)
  2170. Returns the User Data field for bxnm (or the current box). Udata is an
  2171. integer in the range -2,000,000,000 to +2,000,000,000 (a 32-bit integer).
  2172.  
  2173. call SetBoxUserData(bxnm, data)
  2174. This function sets a User Data field in a box for use by Genies. Dat
  2175. can only be an integer in the range -2,000,000 to +2,000,000 (a 32-bit
  2176. integer). Professional Page does nothing with this data except maintain
  2177. it.
  2178.  
  2179. filtname = GetTextFilter
  2180. Returns the name of the active text filter.
  2181.  
  2182. call SetTextFilter(filtername)
  2183. Sets the active textfilter. The filtername must be supplied without the
  2184. path or the ".tf" extension; eg., "TransWrite".
  2185.  
  2186. worked = ImportAegis(bxnm, file)
  2187. Imports an Aegis Draw format drawing into an empty box (bxnm), returning
  2188. 1 if successfully loaded, 0 if an error has occurred.
  2189.  
  2190. worked = ImportBM(bxnm, file)
  2191. Imports a bitmap file into an empty box (bxnm), returning 1 if
  2192. successful, 0 if an error has occurred. The imported bitmap is scaled to
  2193. fit the box.
  2194.  
  2195. worked = ReloadBM(bxnm, file)
  2196. Same as ImportBM, but doesn't change the graphic scale or offset.
  2197. Returns 1 if successful, 0 if there has been an error.
  2198.  
  2199. worked = ImportClip(bxnm, clipname, [file])
  2200. This function imports the Professional Draw clip clipname to be found
  2201. infile. Returns 1 for success, 0 if there has been an error.
  2202.  
  2203. worked = ImportEPSF(bxnm, file)
  2204. Imports an EPSF file into an empty box (bxnm), returning 1 for success,
  2205. 0 if there has been an error.
  2206.  
  2207. worked = ImportText(bxnm, file)
  2208. Flows a textfile into an empty box (bxnm), returning 1 if the operation is
  2209. successful, 0 if there has been an error.
  2210.  
  2211. bool = LinkBox(bx1, bx2)
  2212. This function will link bx1 to bx2. In order for this to succeed, bx2
  2213. must be empty, bx1 must be the end of an article chain or empty. The text
  2214. overflow status is returned; i.e. 0 is returned if all text fits into the
  2215. boxes, 1 if some text overflows the boxes.
  2216.  
  2217. boxid = UnlinkBox([bxnm])
  2218. This function will break the article link of bxnm, causing bxnm to
  2219. become the first box of the remainder of the article.
  2220.  
  2221. boxid = SelectBox([bxnm])
  2222. Returns the boxID of the named box and makes that box the active box.
  2223. This differs from BoxNum in that this function activates the box.
  2224.  
  2225. Text Operations:
  2226.  
  2227. These are functions that are used to access and change the text
  2228. associated with a text box.
  2229.  
  2230. * char = CursorUp()
  2231. Moves the cursor up and returns the character after the cursor.
  2232.  
  2233. * char = CursorDown()
  2234. Moves the cursor down and returns the character after the cursor.
  2235.  
  2236. * char = CursorLeft()
  2237. Moves the cursor left and returns the character after the cursor.
  2238.  
  2239. * char = CursorRight()
  2240. Moves the cursor right and returns the character after the cursor.
  2241.  
  2242. * char = CursorChar()
  2243. Returns the character after the cursor.
  2244.  
  2245. * success = Cut()
  2246. Cuts the highlighted block, returning 1 if anything was cut.
  2247.  
  2248. * success = Copy()
  2249. Copies the highlighted block, returning 1 if anything was copied.
  2250.  
  2251. * success = Paste()
  2252. Pastes text at the current cursor position, returning 1 if anything was
  2253. pasted.
  2254.  
  2255. * call EditWithAE()
  2256. Sends the currently selected block or article to Article Editor for
  2257. editing.
  2258.  
  2259. * boxid = SetEdit(bxnm)
  2260. Selects a box for text editing, positioning the cursor at the first
  2261. character of the box. Returns the ID of the box selected.
  2262.  
  2263. * call EndEdit()
  2264. Exits Text Edit mode, returning to Null Pointer mode.
  2265.  
  2266. * found = Find(text, [direction], [case])
  2267. Performs a Find operation from the current cursor position. Direction
  2268. is 0 for down, 1 for up. Case is 1 to ignore case, 0 to match case. Found
  2269. text will be selected as a block. Returns 1 if found, 0 otherwise.
  2270.  
  2271. * howmany = Replace(txt1, txt2,[direction], [case], [global], [query])
  2272. Replaces txt1 with txt2. Direction and case are as above for Find. Global
  2273. is 1 for all occurrences, 0 for next occurrence only. Query is 1 to
  2274. request confirmation, 0 for no query. Returns the number of replacements.
  2275.  
  2276. * found = FindNext()
  2277. Finds the next occurrence of the text set by Find. Returns 1 if found.
  2278.  
  2279. * replaced = ReplaceNext()
  2280. Replaces next occurrence of the 'find' text with the 'replace' text (as
  2281. set by Replace). Returns 1 if replaced.
  2282.  
  2283. arttxt = GetArticleText([bxnm], [typo])
  2284. Returns the text of the article containing the indicated (or current)
  2285. box. If typo is 1, the function will output the backslash-encoded
  2286. typography codes as well, with a tiling "\".
  2287.  
  2288. * blocktxt = GetBlockText([typo])
  2289. Similar to a Block Save, but the highlighted text is returned. If typo
  2290. is 1, the function will output the backslash-encoded typography codes a
  2291. well, with a tiling "\".
  2292.  
  2293. boxtxt = GetboxText([bxnm], [typo])
  2294. Returns the text contained in the indicated (or current) box. If typo
  2295. is 1, the function will output the backslash-encoded typography codes
  2296. as well, with a trailing "\".
  2297.  
  2298. * success = InsertFile(file)
  2299. Inserts the text from file at the current cursor position.
  2300.  
  2301. * success = InsertText(text)
  2302. Inserts text at the current cursor position.
  2303.  
  2304. * call SelectAllText()
  2305. Set a block containing all text in the article.
  2306.  
  2307. * call SelectBoxText()
  2308. Set block to all text currently in box.
  2309.  
  2310. * call UnBlock()
  2311. Deselects the current block.
  2312.  
  2313. overflow = TextIntoBox(bxnm, [text])
  2314. Flows text into the empty box indicated by bxnm. When text is omitted,
  2315. the user is presented with a string requester. Returns the text overflow
  2316. status (see TextOverflow, below).
  2317.  
  2318. * overflow = TextOverflow([bxnm])
  2319. Returns 0 or 1 to indicate the overflow status of the indicated (or
  2320. current) box. If all text fits into the boxes of the article containing
  2321. bxnm, a 0 is returned. A 1 is returned if text overflows.
  2322.  
  2323. Group Operations:
  2324.  
  2325. call AddToGroup([bxnm])
  2326. Adds a box to the group; like Shift-click.
  2327.  
  2328. call DropFromGroup([bxnm])
  2329. Rewoves a box from the group; like Ctrl-click.
  2330.  
  2331. rect = GetGroupRect()
  2332. Returns left, top, width, and height of the bounding box around the
  2333. current group.
  2334.  
  2335. boxid = GroupFirstBox()
  2336. Returns the boxID of the first box in the group.
  2337.  
  2338. boxid = GroupNextBox([bxnm])
  2339. Returns the boxID of the next box in the group. This allows a Genie to
  2340. scan all boxes in a group.
  2341.  
  2342. call MergeGroup([boxname])
  2343. Merges all Professional Page structured graphics in the group, returning
  2344. the boxID of the new box.
  2345.  
  2346. call NewGroup()
  2347. Forgets the current group to prepare for the creation of a new one.
  2348.  
  2349. PPage Parameter Settings:
  2350.  
  2351. * degree = GetAngleStep()
  2352. Returns the step angle for use with interactive rotation.
  2353.  
  2354. * call SetAngleStep(degree)
  2355. Sets the step angle for use with interactive rotation.
  2356.  
  2357. * shiftamt = GetBaseline()
  2358. Returns the current baseline shift value in points.
  2359.  
  2360. * call SetBaseline(val)
  2361. Sets the baseline shift value (in points) to the position indicated by
  2362. val.
  2363.  
  2364. * outstatus = GetBoxOutlines()
  2365. Returns box outline display status.
  2366.  
  2367. * call SetBoxOutlines(status)
  2368. Makes box outlines invisible/visible (0/1).
  2369.  
  2370. * colordef = GetColorData(colname)
  2371. Returns the slash-coded color definition of the specified color name.
  2372.  
  2373. * success = DefineColor(colordefn)
  2374. Colordefn is a slash-coded color definition (refer to Appendix C in the
  2375. Professional Page User's Guide). The return is one of: 0 for an error, 1
  2376. for a successful new definition, or a number greater than 1 for indicating
  2377. that the new definition replaced an existing definition.
  2378.  
  2379. cm = GetColorMode()
  2380. Returns the current status of the Professional Page screen's color mode.
  2381.  
  2382. cm = SetColorMode(status)
  2383. Sets Color mode to 0 or 1, corresponding to Color, B&W. This function
  2384. returns the status that has been set or, if the operation fails, the
  2385. current status.
  2386.  
  2387. * colstatus = GetColllmns()
  2388. Returns the column display status.
  2389.  
  2390. * call SetColumns(status)
  2391. Turns column display on/off (0/1).
  2392.  
  2393. * datetype = GetDateFormat()
  2394. Returns the current date format. Datetype is either the European style
  2395. (0 = dd/mm/yy) or the American style (1 = mm/dd/yy).
  2396.  
  2397. * call SetDateFormat(type)
  2398. Sets the date format as defined above.
  2399.  
  2400. dm = GetDitherMode()
  2401. Returns the current color dithering mode.
  2402.  
  2403. dm = SetDitherMode(mode)
  2404. Mode is one of 0/1/2 corresponding to Smooth, Non-interlaced, Flicker
  2405. Free.
  2406.  
  2407. color = GetFillcolor()
  2408. Returns the currently selected fill color.
  2409.  
  2410. call SetFillColor (colname)
  2411. Sets the color for fills. Colname must be the name of a color defined
  2412. in the current color list.
  2413.  
  2414. num = GetFillPattern()
  2415. Returns the currently selected fill pattern.
  2416.  
  2417. call SetFillpattern(num)
  2418. Sets the fill pattern by number. Fill patterns we shown when you
  2419. highlight the Draw/Fill Pattern menu item. The patterns, corresponding
  2420. numbers we 1-8, top to bottom. A value of 0 for num signifies no fill.
  2421.  
  2422. * fontname = GetFont()
  2423. Returns the name of the currently selected font.
  2424.  
  2425. * call SetFont(fontname)
  2426. Sets the current font, returning 1 for success, 0 for error.
  2427.  
  2428. * gstatus = GetGrid()
  2429. Returns grid status.
  2430.  
  2431. * call SetGrid(status)
  2432. Clears or sets (0/1)the grid.
  2433.  
  2434. * gsize = GetGridSize()
  2435. Returns grid size (x,y).
  2436.  
  2437. * call SetGridSize(Xsize, Ysize)
  2438. Sets the size of the grid.
  2439.  
  2440. * snap = GetGridSnap()
  2441. Returns snap-to-grid status.
  2442.  
  2443. * call SetGridSnap(status)
  2444. Clews/sets (0/1) snap-to-grid.
  2445.  
  2446. * hypheni s = GetHyphenation()
  2447. Returns the current hyphenation mode.
  2448.  
  2449. * call SetHyphenation(status)
  2450. Turns hyphenation off/on (0/1)
  2451.  
  2452. * chars = GetHyphenControl()
  2453. Returns the number of characters permissible before and after the hyphen.
  2454.  
  2455. * call SetHyphenControl(head, tail)
  2456. Sets the number of characters permissible before and after the hyphen.
  2457.  
  2458. * num = GetHyphenLang()
  2459. Returns one of 0/1/2 corresponding to English/second language/third
  2460. language. See the Preferences/Hyphenation Control menu item for the
  2461. available languages in your version of Professional Page.
  2462.  
  2463. * call SetHyphenLang(num)
  2464. Num is one of 0/1/2 corresponding to English/second language/third
  2465. language.
  2466.  
  2467. * success = LoadHyphenDict(file)
  2468. Load the hyphenation exception dictionary, returning 1 for success, 0
  2469. for error.
  2470.  
  2471. * call ClearHyphenDict()
  2472. Removes the hyphenation exception dictionary from memory.
  2473.  
  2474. il = GetInterlace()
  2475. Returns the current status of the Professional Page screen's Interlace
  2476. option.
  2477.  
  2478. il = SetInterlace(status)
  2479. Sets interlace on/off (0/1). This function returns the status that has
  2480. been set or, if the operation fails, the current status.
  2481.  
  2482. ir = GetInterrupt()
  2483. Returns the current status of the Interruptible Refresh option.
  2484.  
  2485. ir = SetInterrupt(status)
  2486. Sets Interruptible Refresh off/on (0/1).
  2487.  
  2488. * justhow = GetJustification()
  2489. Returns the type of justification as 0/1/2/3 corresponding to left,
  2490. right, center or flush.
  2491.  
  2492. * call SetJustification(type)
  2493. Sets the justification mode to left, right, center Or flush corresponding
  2494. to a type of 0/1/2/3.
  2495.  
  2496. * kernis = GetKerning()
  2497. Returns the kerning on/off status.
  2498.  
  2499. * call SetKerning(status)
  2500. Clears/sets (0/1) kerning.
  2501.  
  2502. color = GetLineColor()
  2503. Returns the currently selected line color.
  2504.  
  2505. call SetLineColor(colname)
  2506. Sets the color for lines. Colname must be the name of a color defined.
  2507. in the current color list.
  2508.  
  2509. num = GetLinePattern()
  2510. Returns the currently selected line pattern.
  2511.  
  2512. call SetLinePattern(num)
  2513. Sets the line pattern by number. Line patterns are shown when yo
  2514. highlight the Draw/Line pattern menu item. The patterns, corresponding
  2515. numbers are 1 -9, top to bottom.
  2516.  
  2517. * string = GetLineSpacing()
  2518. Returns type (0/1/2 corresponding to leading, fixed and relative) and
  2519. value of current line Spacing.
  2520.  
  2521. * call SetLineSpacing(type, val)
  2522. Sets the manner and mount of line spacing. Type is one of 0/1/2
  2523. corresponding to leading, fixed and relative.
  2524.  
  2525. val = GetLineWeight()
  2526. Returns the currently selected line weight in points.
  2527.  
  2528. call SetLineWeight(val)
  2529. Sets the line stoke weight (in points).
  2530.  
  2531. * percent = GetMagMode()
  2532. Returns the current magnification percentage.
  2533.  
  2534. * call SetMagMode(percent)
  2535. If percent is not one of the offered magnification percentages, the next
  2536. lowest magnification percentage is used.
  2537.  
  2538. * numtype = GetPageNumFormat()
  2539. Returns the current numeric format for pagenumbers. Numtype will be
  2540. one of 0/1/2 corresponding to arabic/ROMAN/roman.
  2541.  
  2542. * call SetPageNumFormat(type)
  2543. Sets the manner of indicating page numbers for automatic page numbering.
  2544. Type is one of 0/1/2 corresponding to arabic/ROMAN/roman.
  2545.  
  2546. * ptag = GetParaTag()
  2547. Returns the name of the current paragraph tag.
  2548.  
  2549. * call SetParaTag(tagname)
  2550. Sets the paragraph tag to tagname. Tagname must be the name of a paragraph
  2551. tag defined in the current paragraph tag list.
  2552.  
  2553. * paradef = GetParaTagData(tagname)
  2554. Returns the slash-coded definition for the named paragraph tag.
  2555.  
  2556. * call DefineParaTag(paradefn)
  2557. Paradefn is a slash-coded paragraph tag definition (refer to Appendix 
  2558. in the main manual). The return is one of: 0 for error, 1 for success, or
  2559. a number greater than 1 for indicating that the new definition replaced
  2560. an existing definition.
  2561.  
  2562. qm = GetQuickMove()
  2563. Returns the current status of the Quick Move option.
  2564.  
  2565. qm = SetQuickMove(status)
  2566. Clears/sets (0/1) Quick Move mode. This function returns the status that
  2567. has been set or, if the operation fails, the current status.
  2568.  
  2569. * rstatus = GetRuler()
  2570. Returns ruler status.
  2571.  
  2572. * call SetRuler(status)
  2573. Turns ruler display off/on (0/1)
  2574.  
  2575. * measure = GetRulerType()
  2576. Returns ruler type. Type is one of 1/2/3/4 corresponding to 1/8", 1/6",
  2577. CM, PICA.
  2578.  
  2579. * call SetRulerType(type)
  2580. Type is as described above.
  2581.  
  2582. * fsize = GetSize()
  2583. Returns the current point size.
  2584.  
  2585. * sizeset = SetSize(size)
  2586. Sets the current point size, returning the size actually set.
  2587.  
  2588. * fstyle = GetStyle()
  2589. Returns the current text style as a string (described below).
  2590.  
  2591. * call SetStyle(style)
  2592. Sets one or more of B/I/U/O/N corresponding to bold, italic, underline,
  2593. outline and normal (plain). If more than one style is set, no spaces are
  2594. included in the string; eg. "BIU" indicates bold italic underline.
  2595.  
  2596. * stag = GetStyleTag()
  2597. Returns the current style tag.
  2598.  
  2599. * call SetStyleTag(tagname)
  2600. Sets the style tag to tagname. Tagname must be the name of a style tag
  2601. defined in the current style tag list.
  2602.  
  2603. * styledef = GetStyleTagData(tagname)
  2604. Returns the slash-coded definition for the named style tag.
  2605.  
  2606. * call DefineStyleTag(styledefn)
  2607. Styledefn is a slash-coded style tag definition (refer to Appendix C in
  2608. the main manual). The return is one of: 0 for error, 1 for success, or an
  2609. integer greater than 1 for indicating that the new definition replaced an
  2610. existing definition.
  2611.  
  2612. * tcol = GetTextColor()
  2613. Returns the current text color.
  2614.  
  2615. * call SetTextColor(colname)
  2616. Sets the text color to colname. Colname must be the name of a color
  2617. defined in the current color list.
  2618.  
  2619. minmax = GetTextGreek()
  2620. Returns the minimum and maximum size for text greeking.
  2621.  
  2622. call SetTextGreek(min, max)
  2623. Sets the minimum and maximum size for text greeking.
  2624.  
  2625. * trackval = GetTracking()
  2626. Returns the current tracking value.
  2627.  
  2628. * call SetTracking(val)
  2629. Sets tracking to the amount specified by val.
  2630.  
  2631. * measure = GetUnits()
  2632. Returns type of units in use.
  2633.  
  2634. * call SetUnits(units)
  2635. Units is one of 1/2/3 corresponding to INCH, CM, PICA.
  2636.  
  2637. wf = GetWireframe()
  2638. Returns the current status of the Wire Frame option.
  2639.  
  2640. wf = SetWireframe(status)
  2641. Clears/sets (0/1) Wireframe Graphics mode. This function returns the status
  2642. that has been set or, if the operation fails, the current status.
  2643.  
  2644. wb = GetWorkbench()
  2645. Returns the current status of the Workbench open/close option.
  2646.  
  2647. wb = SetWorkbench(Status)
  2648. Attempts to close/open (0/1) Workbench. This function returns the status
  2649. that has been set or, if the operation fails, the current status.
  2650.  
  2651. Save and Load Operations:
  2652.  
  2653. * LoadColorData(file)
  2654. Loads the specified color definitions, returning the number of definitions
  2655. loaded.
  2656.  
  2657. * SaveColorData(file)
  2658. Saves the specified color definitions, returning the number of definitions
  2659. saved.
  2660.  
  2661. success = LoadDocument(file, [autoloadBMs], [verify])
  2662. Loads the specified file into Professional Page. AutoloadBMs is used to
  2663. specify whether bitmaps are to be loaded automatically or not (1/0).
  2664. Verify if document verify has changed since last save.
  2665.  
  2666. success = SaveDocument([file])
  2667. Performs a Save operation using the current name. If file is supplied,
  2668. a Save As operation is performed, renaming the document to file.
  2669.  
  2670. success = LoadPage(pgnm, file, [autoloadBMs])
  2671. Loads the page specified by file before page pgnm.
  2672.  
  2673. success = SavePage(pgnm, file)
  2674. Saves the specified page using file as the filename.
  2675.  
  2676. * totaltags = LoadParaTags(file)
  2677. Loads the specified paragraph tag list, returning the number of tags
  2678. loaded.
  2679.  
  2680. * totaltags = SaveParaTags(file)
  2681. Saves the current paragraph tags to a file, returning the number of tags
  2682. saved.
  2683.  
  2684. * totaltags = LoadStyleTags(file)
  2685. Loads the specified style tag list, returning the number of tags loaded.
  2686.  
  2687. * totaltags = SaveStyleTags(file)
  2688. Saves the current style tags to a file, returning the number of tags
  2689. saved.
  2690.  
  2691. Dot Matrix Printing:
  2692.  
  2693. These functions' parameters refer to items generally found in the Print to Dot
  2694. Matrix requester.
  2695.  
  2696. astring = GetAutotile()
  2697. Returns the off/on status of autotiling (0/1).
  2698.  
  2699. call SetAutotile(status)
  2700. Sets autotile mode off/on (0/1).
  2701.  
  2702. status = GetDMColorCorrect()
  2703. Returns 0 or 1 corresponding to Color Correction off and on.
  2704.  
  2705. call SetDMColorCorrect(status)
  2706. Sets color correction off/on (0/1).
  2707.  
  2708. mode = GetDMDither()
  2709. Returns the dithering mode which is one of 0/1/2 corresponding to Ordered,
  2710. Halftone and Floyd-Steinberg.
  2711.  
  2712. call SetDMDither(mode)
  2713. Sets the dithering mode for printing to one of 0/1/2 corresponding to
  2714. Ordered, Halftone and Floyd-Steinberg.
  2715.  
  2716. printres = GetDMDensity()
  2717. Returns the current setting of printing density. Valid settings are:
  2718. 1/2/3/4/5/6/7.
  2719.  
  2720. call SetDMDensity(dens)
  2721. Sets the printing density. Valid settings are: 1/2/3/4/5/6/7.
  2722.  
  2723. status = GetDMEject()
  2724. Returns the eject status, either off (0) or on (1).
  2725.  
  2726. call SetDMEject(status)
  2727. Sets eject off/on (0/1).
  2728.  
  2729. status = GetDMLandscape()
  2730. Returns the status of landscape printing, off/on (0/1).
  2731.  
  2732. call SetDMLandscape(status)
  2733. Sets landscape mode off/on (0/1).
  2734.  
  2735. astring = GetDMOffset()
  2736. Returns the page offset values.
  2737.  
  2738. call SetDMOffset(Xoffset, Yoffset)
  2739. Sets the page offset to the supplied values.
  2740.  
  2741. psize = GetDMPageSize()
  2742. Returns the output page size used for autotile printing.
  2743.  
  2744. call SetDMPageSize(x, y)
  2745. Sets the output page size used for autotile printing.
  2746.  
  2747. mode = GetDMPrintMode()
  2748. Returns the printing mode as one of 0/1/2 corresponding to B&W, Grey and
  2749. Color.
  2750.  
  2751. call SetDMPrintMode(mode)
  2752. Sets the printing mode to one of 0/1/2 corresponding to B&W, Grey and
  2753. Color.
  2754.  
  2755. mode = GetDMProof()
  2756. Returns the proof mode which is either 0 or 1 corresponding to Draft and
  2757. Final.
  2758.  
  2759. call SetDMProof(mode)
  2760. Sets the proof mode to either 0 Or 1 corresponding to Draft and Final.
  2761.  
  2762. astring = GetDMScale()
  2763. Returns the scaling factors for printing.
  2764.  
  2765. call SetDMScale (Xscale, Yscale)
  2766. Sets the scaling factors to the suppliedvalues.
  2767.  
  2768. call PrintPageDM(pgnm, [copies], [sync])
  2769. Prints the indicated page. One copy is produced unless a different copies
  2770. value is supplied. If sync is 1, the function returns only after printing
  2771. is complete. If sync is 0 for asynchronous printing, the function will
  2772. return immediately.
  2773.  
  2774. call PrintDocDM([copies], [sync])
  2775. Prints one (or more) copies of the entire document. If sync is 1, the
  2776. function returns only after printing is complete. If sync is 0 for
  2777. asynchronous printing, the function will return immediately.
  2778.  
  2779. postScript Printing:
  2780.  
  2781. The parameters for these functions refer to items found in the Print to
  2782. PostScript requester.
  2783.  
  2784. csinksdata = GetCSInks()
  2785. Returns data as with SetCSInks() for Process colours only.
  2786.  
  2787. call SetCSInks(k, y, m, c, [mech])
  2788. Indicates whether or not (1/0) to print the corresponding ink on color
  2789. separation output. Mechanical inks are either all on or all off.
  2790.  
  2791. csdata = GetCSParams()
  2792. Returns data as with SetCSParams() for Process colours only.
  2793.  
  2794. call setCSParams(KLPI, KAng, YLPI, YAng, MLPI, MAng,
  2795.                  CLPI, CAng, [MechAng], [MechLPI])
  2796. Sets colour separation densities and angles for black, yellow, magenta
  2797. and cyan; optionally for mechanical colors. MechAng and MechLPI will
  2798. apply to all mechanical colors.
  2799.  
  2800. auto = GetPSAutotile()
  2801. Returns the off/on (0/1) status of PostScript autotiling.
  2802.  
  2803. call SetPSAutotile(status)
  2804. Turns PostScript autotiling off/on (0/1).
  2805.  
  2806. status = GetPS8BitBM()
  2807. Returns 0 or 1 corresponding to the off/on status of 8-bit bitmaps.
  2808.  
  2809. call SetPS8BitBM(status)
  2810. Sets 8-bit bitmaps off/on (0/1).
  2811.  
  2812. epsf = GetPSEPSF()
  2813. Returns the off/on (0/1) status of EPSF mode.
  2814.  
  2815. call SetPSEPSF(status)
  2816. Sets EPSF format off/on (0/1).
  2817.  
  2818. fontdown = GetPSFontDownload()
  2819. Returns 0 or 1 corresponding to font downloading option off/on.
  2820.  
  2821. call SetPSFontDownload(status)
  2822. Disables/enables (0/1) font downloading.
  2823.  
  2824. manual = GetPSManFeed()
  2825. Returns the off/on (0/1) status of manual feed.
  2826.  
  2827. call SetPSManFeed(status)
  2828. Sets manual feed off/on (0/1).
  2829.  
  2830. mirror = GetPSMirror()
  2831. Returns 0 or 1 corresponding to the off/on status of Mirror printing.
  2832.  
  2833. call SetPSMirror(status)
  2834. Sets mirror printing off/on (0/1).
  2835.  
  2836. neg = GetPSNegative()
  2837. Returns 0 or 1 corresponding to the off/on status of Negative printing.
  2838.  
  2839. call SetPSNegative(status)
  2840. Sets negative printing off/on (0/1).
  2841.  
  2842. psover = GetPSOverride()
  2843. Returns 0 or 1 corresponding to the off/on status of Override Custom
  2844. Specs.
  2845.  
  2846. call SetPSOverride(status)
  2847. Turns Override Custom Specs off/on (0/1).
  2848.  
  2849. device = GetPSOutput()
  2850. Returns current PostScript output path; "PAR:", "SER:" or a filename.
  2851.  
  2852. call SetPSOutput(spec)
  2853. Sets PostScript output to be directed to spec; this is usually "SER:",
  2854. "PAR:" or a specified filename.
  2855.  
  2856. modetype = GetPSPrintMode()
  2857. Returns the PostScript print mode which is one of 1/2/3/4 corresponding
  2858. to B&W, Color PostScript, 3 Color and 4 Color.
  2859.  
  2860. call SetPSPrintMode(mode)
  2861. Sets the PostScript print mode as described above.
  2862.  
  2863. proofmode = GetPSProof()
  2864. Returns one of 0/1/2 corresponding to the modes of Draft, Proof and Final.
  2865.  
  2866. call SetPSProof(mode)
  2867. Sets the PS proof mode to one of 0/l/2 corresponding to Draft, Proof,
  2868. and Final.
  2869.  
  2870. rolldata = GetPSRollPaper()
  2871. Returns the status of the roll paper option and, if on, the width of the
  2872. paper.
  2873.  
  2874. call SetPSRollPaper(status, [width])
  2875. Sets RollPaper option off/on (0/1) and, optionally, the width of the
  2876. roll.
  2877.  
  2878. csdata = GetUCRGCR()
  2879. Returns the UCR threshold and GCR values as percentages.
  2880.  
  2881. call SetUCRGCR(ucrthres, gcr)
  2882. Sets the UCR threshold value and the GCR value. Both arguments are
  2883. expressed as a percentage.
  2884.  
  2885. success = PrintDocPS([copies], [sync])
  2886. Prints one or copies copies of the entire document. Returns 1 for success,
  2887. 0 for an error or premature abort (caused by the user clicking on the
  2888. STOP! button or by issuing an ARexx AbortPrint command). If sync is 1, the
  2889. function returns only after printing is complete. If sync is 0 for
  2890. asynchronous printing, the function will return immediately.
  2891.  
  2892. success = PrintPagePS(pgnm, [copies], [sync])
  2893. Prints one or copies copies of the current page. Returns 1 for success,
  2894. 0 for an error or premature abort (as described above). If sync is 1, the
  2895. function returns only after printing is complete. If sync is 0 for
  2896. asynchronous printing, the function will return immediately.
  2897.  
  2898. Thumbnail printing:
  2899.  
  2900. These functions correspond to items in the Print to Thumbnail requester.
  2901.  
  2902. thumbsize = GetThumbNum()
  2903. Returns one of 2/3/4/5 corresponding to the size of Thumbnail printing;
  2904. i.e., 2x2, 3x3, 4x4 and 5x5.
  2905.  
  2906. call SetThumbNum(num)
  2907. Sets the size of Thumbnail printing. Num is one of 2/3/4/5 corresponding
  2908. to 2x2, 3x3, 4x4 and 5x5.
  2909.  
  2910. success = PrintgocThumb([copies], [sync])
  2911. Prints one or copies copies of the entire document. If sync is 1, the
  2912. function returns only after printing is complete. If sync is 0 for
  2913. asynchronous printing, the function will return immediately.
  2914.  
  2915.  
  2916.                   Professional Page Quick Reference Card
  2917.                   --------------------------------------
  2918.  
  2919. KEYBOARD EQUIVALENTS
  2920. . Ax   Hold the right Amiga key and press key "x"
  2921. . ax   Hold the ALT key down and press key "x"
  2922. . cx   Hold the CONTROL key down and press key "x"
  2923. . sx   Hold the SHIFT key down and press key "x"
  2924. NOTE: Keyboard equivalents are CASE SENSITIVE!
  2925.  
  2926. Professional Page:
  2927. Project Menu
  2928. Project/New                             AN
  2929. Project/Open                            AO
  2930. Project/Save                            AS
  2931. Project/Save As                         AZ
  2932. Project/Information                     AI
  2933. Project/Import/Text                     AT
  2934. Project/Import/Bitmap Graphic           AG
  2935. Project/Import/Aegis Draw drawings      A=
  2936. Project/Import/Professional Draw Clip   AD
  2937. Project/Import/Encapsulated PostScript  AE
  2938. Project/Output/Dot Matrix               AM
  2939. Project/Output/PostScript               AP
  2940. Project/Output/Thumbnail                AX
  2941. Project/About                           AU
  2942. Project/Quit                            AQ
  2943.  
  2944. Page Menu
  2945. Page/Create/From Template               cT
  2946. Page/Create/From Default                cN
  2947. Page/Load/New Current                   cC
  2948. Page/Load/Even Template                 cE
  2949. Page/Load/Odd Template                  cO
  2950. Page/Save/Current                       sC
  2951. Page/Save/Even Template                 sE
  2952. Page/Save/Odd Template                  sO
  2953. Page/Delete                             cD
  2954. Page/Alter/Current                      aC
  2955. Page/Alter/Even Template                aE
  2956. Page/Alter/Odd Template                 aO
  2957. Page/Alter/Default                      aZ
  2958. Page/Make Template/Even                 sY
  2959. Page/Make Template/Odd                  sZ
  2960. Page/Visible                            cV
  2961.  
  2962. Box Menu
  2963. Box/Show Active                         aX
  2964. Box/Clone Active                        aK
  2965. Box/Delete Active                       sDEL
  2966. Box/Alter/Active                        aA
  2967. Box/Alter/Default                       aB
  2968.  
  2969. Group Menu
  2970. Group/Clone                             sK
  2971. Group/Delete                            cDEL
  2972. Group/Forget                            sG
  2973. Group/Align/Top                         sT
  2974. Group/Align/Bottom                      sQ
  2975. Group/Align/Left                        sJ
  2976. Group/Align/Right                       sR
  2977. Group/Center/Vertically                 sV
  2978. Group/Center/Horizontally               sH
  2979. Group/Center/Both                       sX
  2980. Group/Merge                             sA
  2981.  
  2982. Tag Menu
  2983. Tag/Style Tag/Add New                   sU
  2984. Tag/Style Tag/Modify                    sM
  2985. Tag/Style Tag/Delete                    sD
  2986. Tag/Style Tag/Load                      sL
  2987. Tag/Style Tag/Save                      sS
  2988. Tag/Paragraph Tag/Add New               aU
  2989. Tag/Paragraph Tag/Modify                aM
  2990. Tag/Paragraph Tag/Delete                aD
  2991. Tag/Paragraph Tag/Load                  aL
  2992. Tag/Paragraph Tag/Save                  aS
  2993.  
  2994. Type Menu
  2995. Type/Typeface/New                       AF
  2996. Type/Size/New                           A.(period)
  2997. Type/Style/Plain                        F10
  2998. Type/Style/Bold On                      F6
  2999. Type/Style/Bold Off                     sF6
  3000. Type/Style/Italics On                   F7
  3001. Type/Style/Italics Off                  sF7
  3002. Type/Style/Outline On                   F8
  3003. Type/Style/Outline Off                  sF8
  3004. Type/Style/Underline On                 F9
  3005. Type/Style/Underline Off                sF9
  3006. Type/Color                              AC
  3007. Type/Style Tag                          AA
  3008. Type/Paragraph Tag                      AV
  3009. Type/Kerning                            AK
  3010. Type/Tracking                           AW
  3011. Type/Line Spacing                       AY
  3012. Type/Baseline                           AB
  3013. Type/Hyphenation                        AH
  3014. Type/Justification/Left                 AL
  3015. Type/Justification/Right                AR
  3016. Type/Justification/Center               A-
  3017. Type/Justification/Flush                AJ
  3018.  
  3019. Edit Menu
  3020. Edit/Paste                              F1
  3021. Edit/Cut                                sF1
  3022. Edit/Copy                               cF1
  3023. Edit/Unmark Block                       sF5
  3024. Edit/Save Block                         F5
  3025. Edit/Select Box                         F4
  3026. Edit/Select All                         sF4
  3027. Edit/Find                               F2
  3028. Edit/Replace                            F3
  3029. Edit/Find Next                          sF2
  3030. Edit/Replace Next                       sF3
  3031. Edit/Article Editor                     A/
  3032.  
  3033. Draw Menu
  3034. Draw/Line Color                         sI
  3035. Draw/Fill Color                         sF
  3036. Draw/Line Weight/Custom                 sW
  3037.  
  3038. Preferences Menu
  3039. Preferences/Magnification/200%          A1
  3040. Preferences/Magnification/100%          A2
  3041. Preferences/Magnification/50%           A3
  3042. Preferences/Magnification/33%           A4
  3043. Preferences/Magnification/25%           A5
  3044. Preferences/Magnification/Facing Pages  A7
  3045. Preferences/Magnification/Thumbnail     A8
  3046. Preferences/Layout Tools                aT
  3047. Preferences/Page & Date Formats         aP
  3048. Preferences/Hyphenation Control         aH
  3049. Preferences/Text Greeking Control       aG
  3050. Preferences/Compugraphic Font Control   aF
  3051. Preferences/Quickmove                   aQ
  3052. Preferences/Wireframe Graphics          aW
  3053. Preferences/Black & White               aN
  3054. Preferences/Interlace Screen            aI
  3055. Preferences/Interruptible Refresh       aR
  3056. Preferences/Workbench Screen            aV
  3057.  
  3058. Other non-menu Shortcuts:
  3059. Box Lock Toggle                         cL
  3060. Box Impermeable Toggle                  c[
  3061. Box Quick Display Toggle                cX
  3062. Box Frame Toggle                        cF
  3063. Set Units to Inches                     cI
  3064. Set Units to Picas                      cP
  3065. Set Units to Centimeters                cM
  3066. Grid Toggle                             cG
  3067. Snap to Grid Toggle                     cS
  3068. Ruler Toggle                            cR
  3069. Box Outline Toggle                      cB
  3070. Column Toggle                           cK
  3071. Page Up                                 s>
  3072. Page Down                               s<
  3073. Box to Back                             sB
  3074. Box to Front                            s^
  3075. Next Linked Box                         sN
  3076. Previous linked Box                     sP
  3077. Thinspace                               aSPACE
  3078. EN space                                cSPACE
  3079. EM space                                sSPACE
  3080. Previous Page Number in Text            c1
  3081. Current Page Number in Text             c2
  3082. Next Page Number in Text                c3
  3083. Current Date in Text                    c4
  3084. Document Creation Date in Text          c5
  3085. Box Break - force text to next box      cRETURN
  3086. move Screen View up 1/5 screen          UP
  3087. Move Screen View up 4/5 screen          sUP
  3088. Move Screen View to top of Page         cUP
  3089. Move Screen View down 1/5 screen        DOWN
  3090. Move Screen View down 4/5 screen        sDOWN
  3091. Move Screen View to bottom of Page      cDOWN
  3092. Move Screen View left 1/5 screen        LEFT
  3093. Move Screen View left 4/5 screen        sLEFT
  3094. Move Screen View to left edge of Page   cLEFT
  3095. Move Screen View right 1/5 screen       RIGHT
  3096. Move Screen View right 4/5 screen       sRIGHT
  3097. Move Screen View to right edge of Page  cRIGHT
  3098. Increase Tracking in Text Edit mode     LEFT
  3099. Decrease Tracking in Text Edit mode     RIGHT
  3100. Increase Baseline in Text Edit mode     UP
  3101. Decrease Baseline in Text Edit mode     DOWN
  3102.  
  3103. Other Shortcuts in Professional Page:
  3104. Menu extended Select
  3105. Users making several menu selections at once can use extended select
  3106. by holding the right mouse button down and hitting the select mouse
  3107. button (left) over each desired menu selection.
  3108.  
  3109. Double Clicking
  3110. names in list requesters can generally be selected by double clicking
  3111. on the desired name. This has the same effect as clicking on the name
  3112. and then selecting "OK".
  3113.  
  3114. RETURN key.
  3115. Generally, when a requester asks for information to be typed in pressing
  3116. RETURN after the text will select the "OK" gadget on the requester.
  3117.  
  3118. SPACE screen refresh
  3119. When not in Text editing mode, hitting the SPACE bar will cause the
  3120. entire screen to be refreshed. This particulary useful in the
  3121. Preferences/Interruptible Refresh is on.
  3122.  
  3123. The Article Editor:
  3124. Project Menu
  3125. Project/Load                            AO
  3126. Project/Save                            AS
  3127. Project/Save As                         AZ
  3128. Project/Environment/Load Configuration  A=
  3129. Project/Environment/Save Configuration  A0
  3130. Project/Environment/Load Macros         A8
  3131. Project/Environment/Save Macros         A9
  3132. Project/WP/Import Document              A#
  3133. Project/WP/Export Document              A$
  3134. Project/Screen Format/Workbench         A%
  3135. Project/Screen Format/Med-Res           A^
  3136. Project/Screen Format/Interlace         A&
  3137. Project/Quit                            AQ
  3138.  
  3139. Edit Menu
  3140. Edit/Cut                                sF1
  3141. Edit/Copy                               aF1
  3142. Edit/Paste                              F1
  3143. Edit/Cut Word                           AW
  3144. Edit/Cut Sentence                       AE
  3145. Edit/Cut Paragraph                      AR
  3146. Edit/Cut Line                           AD
  3147. Edit/Clear Highlight                    sF5
  3148. Edit/Highlight All                      sF4
  3149. Edit/Instert File                       AT
  3150. Edit/Save Highlight Region              F5
  3151. Edit/Erase All Text                     A\
  3152.  
  3153. Commands Menu
  3154. Commands/Find/Replace                   F2 or F3
  3155. Commands/Search Again                   sF2 or sF3
  3156. Commands/Translate document             A"
  3157. Commands/Spell-Check Word               aF7
  3158. Commands/Spell-Check To End             aF8
  3159. Commands/Real Time Spell Check          aF9
  3160. Commands/Toggle Insert Mode             a3
  3161. Commands/Toggle Paragraph Marking       aM
  3162. Commands/Convert to Lower Case          AL
  3163. Commands/Convert to Upper Case          AU
  3164.  
  3165. Special Menu
  3166. Special/Set Options                     aF2
  3167. Special/Set Colors                      aF3
  3168. Spacial/Count Words                     aF4
  3169. Special/Analyze Document                A?
  3170. Special/Refresh Window                  sF10
  3171. Special/Join Single Lines               AJ
  3172. Special/Separate Lines                  A@
  3173. Special/Show PPage Codes                A6
  3174. Special/Hide PPage Codes                A7
  3175. Special/Send Text Home                  A/
  3176. Special/Line Spacing                    A+
  3177.  
  3178. Styles Menu
  3179. Styles/Bold Text                        F6
  3180. Styles/Italic Text                      F7
  3181. Styles/Underlined Text                  F9
  3182. Styles/Bold Off                         sF6
  3183. Styles/Italic Off                       sF7
  3184. Styles/Underlined Off                   sF9
  3185. Styles/Normal Text                      F10
  3186.  
  3187. Cursor Menu
  3188. Cursor/Top Of File                      cUP
  3189. Cursor/End Of File                      CDOWN
  3190. Cursor/Up Screen                        aUP
  3191. Cursor/Down Screen                      aDOWN
  3192. Cursor/Up Paragraph                     sUP
  3193. Cursor/Down Paragraph                   sDOWN
  3194. Cursor/Start of Line                    sRIGHT
  3195. Cursor/Previous Word                    aLEFT
  3196. Cursor/Next Word                        aRIGHT
  3197. Cursor/Center Cursor                    cC
  3198. Cursor/Restore Position                 scC
  3199.  
  3200. Other Article Editor Shortcuts
  3201. Begin Highlight Range                   aF5
  3202. End Highlight Range                     aF6
  3203.  
  3204.  
  3205. FORMATTING TEXT
  3206.  
  3207. Note that all formatting commands consists of a backslash (\) followed
  3208. by a number of codes. No space should be left between the backslash and
  3209. the code. Some codes are followed by a paramter, either a number (integer
  3210. or float) or a name giving further information. If a parameter is needed
  3211. type the less than sign (<), the number, and the closing greater than
  3212. sign (>). Note that the letter case of the formatting code is significant.
  3213. Some formatting codes must be terminated by the RETURN key.
  3214.  
  3215. Font:
  3216. ff<name>        font name
  3217. fs<integer>     pointsize(2->720)
  3218.  
  3219. Line Spacing:
  3220. lf<float>       linespacing fixed (points)
  3221. lr(integer)     linespacing relative (% of largest pt size)
  3222. ll<float>       linespacing leading (points)
  3223. ls<float>       baseline shift (points)
  3224.  
  3225. Justification:
  3226. jl              left justification
  3227. jr              right justification
  3228. jc              center justification
  3229. jf              flush justification
  3230.  
  3231. Paragraph:
  3232. pi              paragraph indent
  3233. po              paragraph oudent
  3234. pn              no paragraph indent
  3235. ps<integer>     paragraph spacing (% of line spacing)
  3236.  
  3237. Color:
  3238. c<name>         color
  3239.  
  3240. Styling:
  3241. B               bold on
  3242. b               bold off
  3243. I               italic on
  3244. i               italic off
  3245. U               underline on
  3246. u               underline off
  3247. O               outline on
  3248. o               outline off
  3249. n               plain text
  3250.  
  3251. Kerning & Tracking:
  3252. K               kerning on
  3253. k               kerning off
  3254. t<integer>      tracking (% of EM space)
  3255.  
  3256. Hyphenation:
  3257. H               hyphenation on
  3258. h               hyphenation off
  3259.  
  3260. Miscellaneous:
  3261. .               end of text
  3262. P               new paragraph
  3263. M               M space
  3264. N               N space
  3265. T               Thin space
  3266. s               TAB
  3267. -               soft hyphen
  3268.  
  3269. Comments:
  3270. ?<comment>
  3271.                 comment - these comments are ignored by Professional
  3272.                 Page and are there for your convenience only.
  3273.  
  3274. Page Number & Date:
  3275. #<option>       macro code for page number and date text insertion
  3276.      options are:
  3277.                 "Pp#" Page number of previous article box
  3278.                 "Pc#" Current page number
  3279.                 "Pn#" Page number of next article box
  3280.                 "Dc#" Creation date
  3281.                 "Dp#" Printing (Current) date
  3282.      where # is the format number:
  3283.                 1 -> 3 for page number
  3284.                 1 -> 2 for date format
  3285.  
  3286. Box Break:
  3287. !               Box break
  3288.  
  3289. Tags:
  3290. dS<name>        begin style tag <name>
  3291. ds              end style tag
  3292. dP<name>        begin paragraph tag <name>
  3293. dp              end paragraph tag
  3294.  
  3295. Color, Style Tag, Paragraph Tag definitions:
  3296. Imbedded codes can also be used to include definitions for colors, style
  3297. tags, and paragraph tags, imbedded in the text. To do this, use the
  3298. following codes:
  3299.  
  3300. Define Color:
  3301. DC<name{Cs<15,10,3>Cp<.4,1.0,.6,.0>FcMa<45.0>Md<3.6>}>
  3302. where the codes inside the {} brackets can be one or more of the
  3303. following:
  3304. Cs<integer,integer,integer>     screen color <red,green,blue>
  3305.                                 values are 0 -> 15
  3306. Cp<float,float,float>           printed colors
  3307.                                 <yello,magneta,cyan,black>
  3308.                                 values are 0.0 -> 100.0 (%)
  3309.      If r,g,b are not defined, they are calculated from y,m,c,k.
  3310.      If y,m,c,k are not defined, they are calculated from r,g,b.
  3311.      If neihter the above are defined, the color is black.
  3312. Fc              set custom color flag
  3313. Fm              set mechanical color flag
  3314. Fn              set no underground removal flag
  3315. Ma<float>       PostScript screen angle for mechanical color
  3316. Md<float>       postScript screen densiry for mechanical color
  3317.  
  3318. Define Style Tag:
  3319. DS<name{slash coded definition : \ff<Times>\fs<24>...{>
  3320. where the codes inside the {} brackets can be one or more of the standard
  3321. formatting codes (Note: you must include the \ character).
  3322. If any of the typographical fields is not defined, that attribute will
  3323. not be affected in the style tag.
  3324.  
  3325. Define Paragraph Tag:
  3326. DP<name{UiMl<1.0>Mr<1.0>Pi<2.0>Ps<100>Ts<.5>Ts<1.0>...}>
  3327. where the codes inside the {} brackets can be one or more of the
  3328. following:
  3329. Ui              units used in the paragraph definition is inches
  3330. Uc              units used in the paragraph definition is centimeters
  3331. Up              units used in the paragraph definition is picas
  3332. Ml<float>       left margin (see note below)
  3333. Mr<float>       right margin (see note below)
  3334. Mb              use box margins (default)
  3335. Pi<float>       paragraph indent and value
  3336. Po<float>       paragraph outdent and value
  3337. Pn              no paragraph indent
  3338. Ps<integer>     paragraph spacing
  3339. SW<integer>     maximum inter-word spacing
  3340. SC<integer>     maximum inter-character spacing
  3341. Ts<float>       define tab locations (up to 16 can be defined)
  3342. Tb              use box tabs (default)
  3343. If any of the above is not specified, default values will be used.
  3344. Note: the value used in MI & Mr can be in the form:
  3345.      <value>    value overrides box margins
  3346.      <+value>   add value to box margins
  3347.      <-value>   subtract value from box margins
  3348.  
  3349.   +----------------[  D U A L  C R E W  BOARDS WORLDWIDE: ]----------------+
  3350.   |                                                                        |
  3351.   |  GURU'S DREAM NODE 1 - 16.8 KBPS - 3.0 GB -  +46 - 8 - 363425  (WHQ)   |
  3352.   |  GURU'S DREAM NODE 2 - 16.8 KBPS -        -  +46 - 8 - 368169          |
  3353.   |  GURU'S DREAM NODE 3 - 16.8 KBPS -        -  +46 - 8 - 369205          |
  3354.   |  GURU'S DREAM NODE 4 - 16.8 KBPS -        -  +46 - 8 - 369225          |
  3355.   |                                                                        |
  3356.   |  EASTERN FRONT       - 14.4 KBPS - 105 MB -  +358 - 28 - SECRET        |
  3357.   |                                                                        |
  3358.   |  FORGOTTEN REALMS    - 14.4 KBPS - 105 MB -  +44 - 272 - 696594        |
  3359.   |                                                                        |
  3360.   +------------------------------------------------------[©1992 DUAL CREW]-+
  3361.  
  3362.          ... aNd aNotHeR fiLe SoMeoNe eLsE uPLoAdEd bEfOrE yOu tO:
  3363.  
  3364.                               tHe One & onLy
  3365.                       2000 A.D. eUroPeaN hEad quArtEr
  3366.  
  3367.             ___/\__/\__/\/\  /\__/\/\     __ /\_/\__/\__/\___/\
  3368.             \  _/ / / _ /  \/_ \ _/ _\   / // / _/_  / _ /_  _/
  3369.             / _/ / /   / / / __/_/\ \   / _  / _/_  /   / / /  
  3370.             \__/__/\/\_\__/\/ \__/__/   \/ \/\__/ \/\/\_\ \/
  3371.  
  3372.                    +49-5221-270097   -   +49-5221-270283
  3373.  
  3374. ¤
  3375.  
  3376.  +-------------------------------------------------------------------------+
  3377.  |                     THIS FILE HAS BEEN UPLOADED TO                      |
  3378.  |                      *-== UNKNOWN  PLEASURES ==-*                       |
  3379.  |                 ALLIANCE WORLD HEADQUARTERS = 0204 29917                |
  3380.  +-------------------------------------------------------------------------+
  3381.